第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在chrome擴(kuò)展程序的瀏覽器操作,后臺(tái)腳本和內(nèi)容腳本之間進(jìn)行通信的上下文和方法?

在chrome擴(kuò)展程序的瀏覽器操作,后臺(tái)腳本和內(nèi)容腳本之間進(jìn)行通信的上下文和方法?

繁華開滿天機(jī) 2019-12-20 11:07:56
我認(rèn)為chrome擴(kuò)展程序總體來說非常簡單且非常強(qiáng)大,但是讓我一直感到困惑的一件事是嘗試在可能運(yùn)行代碼的各種腳本之間進(jìn)行通信。當(dāng)從瀏覽器操作的“ default_popup”頁面中引用該代碼時(shí),“背景”的“腳本”屬性中的代碼以及內(nèi)容腳本。這些類別的腳本在什么情況下運(yùn)行,每種腳本如何與其他腳本通信?
查看完整描述

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"]

在清單中。


查看完整回答
反對(duì) 回復(fù) 2019-12-20
  • 3 回答
  • 0 關(guān)注
  • 808 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)