javascript – Chrome扩展内容脚本在页面刷新之前不会被加载

前端之家收集整理的这篇文章主要介绍了javascript – Chrome扩展内容脚本在页面刷新之前不会被加载前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Chrome扩展内容脚本,我想在Trello板上运行.现在,它只包含:
  1. console.log("Hello,world!");

当您通过内部链接打开Trello板页面时,像My Boards页面那样,内容脚本不会运行.它在运行后刷新页面虽然.

我的清单文件包含:

  1. {
  2. "manifest_version": 2,"name": "Temp Ext","version": "1.0","content_scripts": [
  3. {
  4. "matches": ["*://trello.com/b/*"],"js":["contentscript.js"]
  5. }
  6. ]
  7. }

任何人都可以帮助我找出为什么脚本在页面初始加载时不运行?

编辑:更正的问题.问题只发生在以下内部链接之后,而不是任何链接.

解决方法

问题是 Trello uses HTML5’s pushState用于页面转换,因此在打开单板后,内容脚本并不总是运行.

清单变更:

  1. {
  2. "manifest_version": 2,"version": "1.1","content_scripts": [{
  3. "matches": ["*://trello.com/*"],"js":["contentscript.js"]
  4. }],"background": {
  5. "scripts": ["background.js"]
  6. },"permissions": [
  7. "*://trello.com/*","tabs","webNavigation"
  8. ]
  9. }

添加背景脚本:

  1. chrome.webNavigation.onHistoryStateUpdated.addListener(function(details) {
  2. chrome.tabs.executeScript(null,{file:"contentscript.js"});
  3. });

猜你在找的JavaScript相关文章