- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我加载 plagin 以将代码注入(inject)页面, list 代码:
{
"name": "any",
"version": "1.0",
"permissions": [
"webNavigation",
"*://*/*"
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"manifest_version": 2
}
和 background.js:
chrome.webNavigation.onCompleted.addListener(function(details) {
chrome.tabs.executeScript(details.tabId, {
code: 'console.log("A")'
});
});
问题是页面加载后事件触发了几次,我只想要事件一次。我的错误是什么?我将不胜感激。
最佳答案
chrome.webNavigation.onCompleted 即使在子框架中出现导航时也会被调用。仅捕获一次的一种方法是使用帧 ID 条件来实现您的代码。 frame id = 0 对应于父框架。你的代码看起来像:
chrome.webNavigation.onCompleted.addListener(function(tab) {
if(tab.frameId==0){
//logic
}
});
此处提供详细文档:https://developers.chrome.com/extensions/webNavigation
关于javascript - chrome.webNavigation.onCompleted - 多次触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37779142/
我正在编写我的第一个 Google 扩展代码,但遇到了一个我一生中从未见过的奇怪错误。 Uncaught TypeError: Cannot read property 'onCompleted' o
我正在尝试为自己构建一个浏览器扩展。这个想法是,当我单击插件的图标时,它会打开一个页面。然后我想在新页面加载完成后执行一些代码,但不知何故它不起作用。 var result; chrome.brows
我正在尝试使用 chrome 扩展从 web of science 获取一些数据。第一步,我想创建一个新选项卡并等待其加载。因此,我在创建选项卡后添加了一个 webNavigation Listene
我正在使用 Microsoft Edge 扩展。 如果用户在特定网址中导航,我会重定向用户。在我的background.js脚本中我有这个: browser.webNavigation.onBefor
我加载 plagin 以将代码注入(inject)页面, list 代码: { "name": "any", "version": "1.0", "permissions": [
使用 chrome.webNavigation 时需要 webNavigation 权限。如 Permission Warnings 所述,使用该权限会使安装程序显示警告消息: 读取您的浏览历史记录
我正在尝试编写一个 chrome 扩展,当用户在带有视频的 youtube 页面上时执行一些代码。据我所知,我的代码是正确的,但它不起作用。 事件页面.js: chrome.webNavigation
我正在处理 Google 扩展代码,并且正在尝试收听 chrome.webNavigation.onTabReplaced事件,但 onTabReplaced事件永远不会被解雇。 我使用的是 Chro
这样做的目的是让我的扩展程序等待历史记录发生变化,根据它所说的内容,执行特定的操作。 这是我目前的情况 popup.js chrome.tabs.update({ url: "https://www.
我现在正在开发一个 chrome 扩展程序。 我遇到这个问题,当我访问 facebook 时,“webNavigation.onComitted”事件在 facebook.com 上被触发了两次。 这
我想使用chrome.webNavigation.onBeforeNavigate的回调来获取frameId和parentFrameId等框架信息。 后台页面代码: chrome.webNavigat
作为一项学习练习,我正在尝试构建一个 Chrome 扩展示例,以确保“灰名单”上的网站始终在隐身窗口中打开。 这是我的进展 - 使用 webNavigation.onBeforeNavigate 事件
我有一个 Chrome 扩展程序,可以监视某些网站上网址中的额外查询参数。我正在向新网站添加功能,但遇到的问题是该网站重定向到不同的网址,并在加载内容脚本之前删除我的自定义查询。 看起来我可以通过使用
我一直在使用 chrome.webNavigation.onCommitted 和 onCompleted 监听器成功检测页面更改,但现在有一些网站完全仅使用 URL 加载新页面哈希部分改变了。这些更
我一直在使用 chrome.webNavigation.onCommitted 和 onCompleted 监听器成功检测页面更改,但现在有一些网站完全仅使用 URL 加载新页面哈希部分改变了。这些更
我正在尝试为 Chrome 编写一个扩展程序,以密切跟踪打开的各个选项卡。不过,似乎新标签不断凭空出现。这是怎么回事? 这是一个非常简单的背景页面,说明了我在说什么: (function () {
使用 chrome.webNavigation API 时,以下代码(在扩展程序的后台页面中使用): chrome.webNavigation.onCommitted.addListener(fu
我正在尝试理解其中的逻辑。在我看来,onBeforeNavigate 事件应该在我们听到任何请求的任何内容之前完成。但我发现 onBeforeRequest 事件首先触发。下面的示例代码将演示我的意思
在 chrome API 中,有两个函数理论上指向同一个事件。 chrome.webNavigation.onCompleted 和 chrome.tabs.onUpdated.addListener
我是一名优秀的程序员,十分优秀!