我一直在閱讀的dev guide但一直沒能解決如何把我自己的代碼到網頁如何獲取Chrome擴展以影響網頁本身? (不彈出)
我知道這是可能的,因爲AVG使用它(在它的鏈接掃描器)並且FastestChrome擴展也使用它(突出顯示某些內容並鏈接到搜索彈出窗口)。
我有一箇中背景頁面,但我不能讓它影響我去的網頁(權限是正確的,因爲我可以得到的CSS效果)
我可能丟失很簡單的東西:/
我一直在閱讀的dev guide但一直沒能解決如何把我自己的代碼到網頁如何獲取Chrome擴展以影響網頁本身? (不彈出)
我知道這是可能的,因爲AVG使用它(在它的鏈接掃描器)並且FastestChrome擴展也使用它(突出顯示某些內容並鏈接到搜索彈出窗口)。
我有一箇中背景頁面,但我不能讓它影響我去的網頁(權限是正確的,因爲我可以得到的CSS效果)
我可能丟失很簡單的東西:/
這不是直觀地在文檔中顯示,但您的背景頁面無法訪問它們在不同上下文中的當前網頁b/c。換句話說,後臺頁面是它自己的單獨頁面,因此它無法訪問任何其他頁面的DOM。
如果您想要影響用戶在瀏覽器中查看的頁面,您將需要使用被稱爲「內容腳本」的內容。
如果要在內容腳本和背景頁面之間進行通信,則需要參考message passing API。請參閱my extension's source code以供參考。我正是那樣做的。
只要記住...
背景頁:在擴展用於一般的邏輯,沒有什麼具體的頁面。
內容腳本:被加載到用戶看到的每個頁面中,並且可以操縱該特定頁面。
那些可能使用Content Scripts將JavaScript注入到網頁中。這些腳本在網頁的上下文中運行並可以訪問DOM。
您可以通過在擴展清單中聲明腳本文件來定義一個始終在網頁中運行的腳本,也可以使用背景頁面在需要時插入腳本。
啊我現在看到了,謝謝! – andrew
如果你喜歡我的回答,你可以接受:) – sym3tri