簡體   English   中英

Chrome擴展程序:未加載JavaScript

[英]Chrome extension: Javascript not loading

我有以下代碼用於chrome擴展,即關於stackoverflow的另一個問題的contentscript.py:

manifest.js

{
"name": "test script",
"version": "0.1",
"content_scripts": [{
    "js": ["contentscript.js"],
    "matches": ["http://*/*"]
}],
"manifest_version": 2,
"web_accessible_resources": ["script.js"]
}

contentscript.js

var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head||document.documentElement).appendChild(s);
s.onload = function() {
    s.parentNode.removeChild(s);
};

script.js

document.body.innerHTML = document.body.innerHTML.replace(new RegExp("this", "gi"), "that");

為了簡單地替換一些文本。 如果我將test.js上的相同表達式放在測試html文件上,則它可以工作,但在擴展名中卻不會像實際注入代碼那樣出現。 我無法為自己的生活弄清楚原因。 清單和目錄腳本看起來井井有條,所以我不知道該怎么辦。

嘗試在manifest.json中的匹配項中添加“ https:// * / *”。 我建議您將第一行放在contentscript.js中:

console.log('Content script loaded and started');

因此,您可以檢查頁面(F12,控制台選項卡),然后查看是否已插入內容腳本。 這將對您的調試有很大幫助。

我不知道您的script.js中發生了什么,但是值得考慮的是,onload事件中的removechild可能在完成任務之前發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM