【发布时间】:2021-04-14 01:17:50
【问题描述】:
我正在尝试让我的 Chrome 扩展程序使用 content_scripts 注入一些 javascript,使用之前的 answer 作为参考。
manifest.json
"name": "My Chrome Extension",
"version": "1.0",
"manifest_version": 2,
"content_scripts": [{
"matches": ["http://pagetoinject/script/into/*"],
"js": ["contentscript.js"]
}]
contenscript.js:
var s = document.createElement('script');
s.src = chrome.extension.getURL("script.js");
(document.head||document.documentElement).appendChild(s);
s.parentNode.removeChild(s);
(也尝试了this方法没有成功。)
var s = document.createElement('script');
s.src = chrome.extension.getURL("script.js");
s.onload = function() {
this.parentNode.removeChild(this);
};
(document.head||document.documentElement).appendChild(s);
我不断收到这个 javascript 错误。这是screenshot。
GET chrome-extension://invalid/
(anonymous function)
【问题讨论】:
-
不确定发生了什么,但你为什么不这样做:
"js": ["contentscript.js","script.js"] -
因为
content_scripts在隔离环境中执行。我需要将script.js注入到 DOM 中,这样我就可以使用该文件,就好像它是公共 js 文件夹的一部分一样。在this answer的第一部分有说明 -
This answer 执行您在内容脚本中尝试执行的操作。它可能是您正在寻找的。span>
标签: javascript jquery google-chrome-extension