0

我目前正在嘗試構建我的第一個Chrome擴展,並且我只需要它與幾個域的頁面進行交互,因此我想避免使用「標籤「權限,因爲我知道它會讓我請求訪問所有信息和所有域。在沒有選項卡權限的彈出框中檢查Chrome擴展中的選項卡狀態

相反,我想限制自己使用aciveTab權限,如果需要,還可以使用內容腳本。

總之,我想要做的是顯示「訂閱按鈕」在我的分機的彈出如果當前選定的選項卡的網址是域我感興趣的。

我可以得到使用內容腳本創建頁面時的網址,但我不知道如何確保在單擊我的擴展程序時用戶仍在該頁面上。

我還沒有設法用activeTab做任何事情。

預先感謝您提供的任何建議,下班後我會檢查答案(如有)。

回答

1

工作示例與activeTab permisison:

在你popup.js

chrome.tabs.query({lastFocusedWindow: true, active: true}, function(tabs) { 
    if (tabs && tabs[0] && tabs[0].url) { 
    var match = tabs[0].url.match(/^[^:]+:\/\/([^\/]+)/); 
    if (match) { 
     var domain = match[1]; 
     if (domain == 'stackoverflow.com') 
     alert('test'); 
    } 
    } 
}); 

注:

  1. 你必須申報 「activeTab」 允許在你的清單(中課程)。
  2. JavaScript代碼必須位於獨立文件中,並且包含在popup.html中,並帶有<script src="..."></script>。內聯JavaScript不允許由於CSP
+0

這很好,謝謝! – Becer

+0

完美運作。我花了一個小時在網上搜索,但永遠無法獲得任何工作。 – TheRealJAG

相關問題