1
我想用chrome擴展在twitch.tv上激活一些腳本。Chrome擴展多個匹配
所以我得到了一個名爲script2.js和一個名爲script3.js
在我的表現,我想說的www.twitch.tv裝載script2.js已經被加載,如果WWW .twitch.tv /目錄被加載,script3.js必須加載:
{
"content_scripts": [{
"js": [ "script2.js" ],
"matches": [ "*://*.twitch.tv/" ]
}, {
"js": [ "script3.js" ],
"matches": [ "*://*.twitch.tv/directory" ]
} ],
"description": "desc",
"manifest_version": 2,
"name": "TwitchTV",
"permissions": [ "*://*.twitch.tv/*" ],
"version": "1.0"
}
script2被加載,但script3不是。難道我做錯了什麼?
編輯:
好,看着我提到的清單,清單是正確的。 我添加了一個提醒(「測試」);在我的腳本之上,並且警報被觸發,所以腳本被正確執行。但是:
我在網站上添加了一些新的按鈕。如果我複製&將我的script3.js粘貼到twitch.com/directory上的chrome控制檯,則會顯示新按鈕。但是如果腳本是通過chrome執行的,按鈕不在那裏。
這是爲什麼,腳本似乎是正確的(因爲如果我手動加載它,它的工作原理),但如果它自動加載它的錯誤?
通過「如果我手動加載它的作品」你的意思是你在頁面的執行環境中運行它(例如,粘貼到控制檯),而不是[內容腳本執行環境](https://developer.chrome.com/extensions/content_scripts.html#execution-environment)?也許這是你的問題。 – apsillers
是的,這是手動加載的意思。 但我在我的腳本中做的唯一事情是創建自己的函數來運行和操作DOM(添加新的HTML節點並向它們添加函數)所以通常這應該工作...... :( – Loki