2016-03-05 135 views
1

有沒有辦法設置谷歌瀏覽器擴展(可能在清單?),以便它只能在一個標籤上運行?這樣,我可以讓我的擴展程序在該選項卡上執行某些操作,同時在另一個選項卡上處理其他工作。使谷歌瀏覽器擴展程序只能在一個標籤上工作

我需要這種能力,因爲我的擴展程序非常多,坐在一個網站上,並不斷刷新頁面,尋找更新。

編輯

雖然我不能擴展的代碼由於隱私政策顯示,我可以解釋一下它究竟。對於localbitcoins.com,擴展程序會在頁面上搜索未讀取的消息通知,並每3秒刷新一次以反覆搜索。如果找到未讀消息,它會將當前URL重定向到通知提供的鏈接。從那裏,它標識一個html表單,用消息填充<input>標籤,提交表單,然後返回到主頁,再次搜索新消息。再次,每3秒刷新一次。

+0

從目前爲止你所說的無法回答。你需要展示你的擴展的功能和方式。從您的清單開始並描述每個擴展部分的功能。 – Xan

回答

2

我想你的擴展工作是通過清單注入一個內容腳本。

您可以改爲使用瀏覽器操作進行擴展,點擊後打開一個選項卡,然後照顧programmatic injection的內容腳本。

這樣,即使您打開具有相同網站的另一個選項卡,內容腳本也不會被注入。

或者,您可以始終注入內容腳本,但只能從背景頁面「激活」它。

這只是一個非常高層次的概述,但是您的問題在於細節。

在任何情況下,您都需要一個背景頁+ messaging,因爲只有背景頁才知道選項卡ID。

0

據我所知,您正在創建網站特定的擴展。在這種情況下,請在manifest.json文件中設置特定於站點的權限。

"permissions":   ["https://WhateverYourSite/*","activetab"] 
+0

問題是關於將擴展限制爲網站的一個實例(因爲腳本易於自行導航) – Xan

+0

設置權限「activetab」 –