Chrome扩展只运行在刷新,而不是在页面导航
Chrome extension only runs on refresh, not on page navigation
我有一个chrome扩展,我想在GitHub上操纵一些DOM。当我刷新任何给定的页面时,所有工作都如预期的那样,但如果我导航到该页面,脚本通常不会执行。
manifest.json
{
"manifest_version": 2,
"name": "Name",
"description": "Detailed description",
"version": "1.3.5",
"content_scripts": [{
"matches": ["https://github.com/*/*/issues/*"],
"js": ["jquery-2.1.0.min.js", "index.js"]
}],
"browser_action": {
"default_icon": "icon.png"
},
"permissions": [
"activeTab",
"https://ajax.googleapis.com/"
]
}
index.js
$(document).ready(function() {
// DOM manipulating code
// removed for brevity
});
当你从另一个GitHub页面导航到另一个GitHub页面时,页面中的容器会更新,而不是整个页面。
所以,从我的经验来看……如果你从一个回购的主页面开始,然后切换到问题页,扩展并不总是注意到这个变化。因此,我建议将清单matches
更改为所有github,而不仅仅是问题:
{
"manifest_version": 2,
"name": "Name",
"description": "Detailed description",
"version": "1.3.5",
"content_scripts": [{
"matches": ["https://github.com/*"],
"js": ["jquery-2.1.0.min.js", "index.js"]
}],
"browser_action": {
"default_icon": "icon.png"
},
"permissions": [
"activeTab",
"https://ajax.googleapis.com/"
]
}
如果这不起作用,那么在您的代码中,监视文档中的"pjax:end"事件:
document.addEventListener("pjax:end", function() {
// run code/call function
});
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 扩展移相器按钮类不工作
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- chrome扩展更改主机/域警告
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- angular 1.5应用程序中的导航栏
- TableExport jquery插件:文件名和扩展名问题
- DataTable按下键选择扩展/导航
- Django导航:扩展与innerHTML
- 如何使用Firefox扩展模拟特定页面的“位置”、“导航器”和好友
- 使用扩展/收缩部分/栏开发网站,同时滚动导航
- 在导航到新页面时,使 Chrome 扩展程序弹出窗口保持打开状态
- 如何通过扩展命令显示/隐藏chrome的选项卡或导航按钮
- Firefox扩展+TCP:“;导航器未定义”;
- 引导3导航条崩溃不扩展
- Chrome扩展只运行在刷新,而不是在页面导航
- 阻止由Chrome扩展中的onBeforeNavigate事件指示的导航,但不是非导航请求
- Chrome扩展导航到URL
- 如何保持打开火狐扩展弹出导航点击按钮