ABE*_*ABE 6 javascript google-chrome-extension
我为 Inject code to page 加载 plagin,清单代码:
{
"name": "any",
"version": "1.0",
"permissions": [
"webNavigation",
"*://*/*"
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"manifest_version": 2
}
Run Code Online (Sandbox Code Playgroud)
和 background.js:
chrome.webNavigation.onCompleted.addListener(function(details) {
chrome.tabs.executeScript(details.tabId, {
code: 'console.log("A")'
});
});
Run Code Online (Sandbox Code Playgroud)
问题是页面加载后事件触发了几次,我只想要一次事件。我的错误是什么?我将不胜感激任何帮助。
小智 8
即使导航发生在子帧中,也会调用 chrome.webNavigation.onCompleted。仅捕获一次的一种方法是使用帧 id 条件实现代码。frame id = 0 对应于父框架。您的代码如下所示:
chrome.webNavigation.onCompleted.addListener(function(tab) {
if(tab.frameId==0){
//logic
}
});
Run Code Online (Sandbox Code Playgroud)
此处提供详细文档:https : //developers.chrome.com/extensions/webNavigation