Chrome扩展:Chrome.tabs.executeScript不工作
Chrome Extension: chrome.tabs.executeScript not working
我正在编写一个chrome扩展,并希望从后台脚本中执行一个内容脚本。后台脚本执行,但内容不执行。以下是相关的代码块:
manifest.json
:
"background": {
"scripts": ["js/app/background.js"],
"persistent": true
},
"permissions": [
"identity",
"tabs",
"activeTab",
"*://*/*"
]
background.js
:
console.log('background')
chrome.tabs.executeScript(null, {file: "content.js"})
content.js
:
console.log('content')
当我检查元素时,控制台上记录了background
,但没有content
。常规控制台也没有任何记录。我做错了什么?
在background.js
中,将chrome.tabs.executeScript
包装在以下位置:
chrome.tabs.onUpdated.addListener(function(tab) {
chrome.tabs.executeScript({
file: '/scripts/runsOnPageLoad.js'
});
});
我无法让程序化注入工作,所以我只是在manifest.json的content_scripts
字段中指定了它(https://developer.chrome.com/extensions/content_scripts#registration)
您应该添加权限"activeTab"。更多信息https://developer.chrome.com/extensions/content_scripts#pi
必须如下所述:
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
chrome.tabs.executeScript({
code:"alert('Any Javascript code comes here !');"
});
});
注意:可以在后台脚本中执行,不要忘记在manifest.json 中允许必要的权限
相关文章:
- JS可以在Chrome中工作,但不能在Firefox中工作
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- javascript window.open将无法在Chrome控制台上工作
- 如何编写在Chrome和IE中正常工作的JavaScript
- 只有当Javascript控制台在chrome上打开时,Javascript才能工作
- NaN:Firefox和IE中的NaN,CHROME工作正常
- jquery日期转换chrome工作,但IE和firefox't
- Chrome工作区无法使用源地图和Javascript
- 数组比较在Chrome工作,但不与Chrome IPAD
- 如何获得一个值从选项时选择(此代码为chrome工作)
- HTML表单与javascript得到"在IE,但在Chrome工作
- 简单的脚本与onclick事件在Chrome工作良好,但在Firefox失败
- 在Firefox剑道按钮文本不改变,而在IE和Chrome工作
- Ajax GIF加载器不工作在IE和Firefox(最新),但在Chrome工作
- Firefox返回TypeError: document.getElementById(..)为空,但Chrome工作正
- 纯Javascript: onClick切换行/图像:Firefox/Chrome -工作:IE -不工作
- 为什么if (condition) {statements} else返回;"在Chrome工作
- 我怎么能得到jsFiddle在Chrome工作
- 模态对话框与Mozilla工作,但不与Chrome工作