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

相关问题