3 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
Google文檔包含所有內(nèi)容,但是很難將所有信息匯總到一起。腳本主要有兩種類型:
1.后臺(tái)腳本可以完全訪問Chrome api,但是不能與目標(biāo)網(wǎng)頁進(jìn)行交互。
2.內(nèi)容腳本可以相互交互,也可以與網(wǎng)頁的DOM交互(但不能與網(wǎng)頁的DOM交互),但只能有限地訪問Chrome api。
兩者都在您加載新頁面時(shí)運(yùn)行(除非您使用“匹配”來限制內(nèi)容腳本的運(yùn)行位置)。
您可以通過消息傳遞在兩者之間進(jìn)行通信。通過內(nèi)容腳本比通過后臺(tái)腳本更容易完成此操作,因?yàn)槟枰篮笳叩倪x項(xiàng)卡ID。
其他腳本(browserAction.js,pageAction.js,optionsPage.js)只有其對(duì)應(yīng)的HTML頁面打開時(shí)(因?yàn)槿绻阍谀愕臑g覽器窗口,這是你真的做什么打開網(wǎng)頁)上運(yùn)行。它們?cè)谙拗坪凸δ芊矫骖愃朴诤笈_(tái)腳本。
嘗試避免與頁面腳本交互的需要。我所知道的最好方法是通過共享的DOM進(jìn)行交互(在html注釋內(nèi)用文字編寫javascript代碼)。但是擴(kuò)展程序的目標(biāo)不是為此而設(shè)計(jì)的,因此您必須包含自己的腳本才能將其執(zhí)行到網(wǎng)頁中。使用內(nèi)容腳本將script元素寫入文檔中(它src是
chrome.extension.getURL("myscript.js"),
您需要將其包含
"web_accessible_resources": ["myscript.js"]
在清單中。
添加回答
舉報(bào)