gpt4 book ai didi

google-chrome-extension - 如何在打开弹出窗口时获取当前选项卡 url [没有选项卡权限]

转载 作者:行者123 更新时间:2023-12-04 00:43:55 31 4
gpt4 key购买 nike

我在 chrome 31.0.1650.57 上有一个 browserAction 扩展测试。我想在用户单击扩展程序图标时获取事件选项卡 url,保存并稍后使用。

我可以在使用tabs 权限时做到这一点。但是这个权限有很大的权力(我不需要)并且用户对此提示。

我按照文章切换到activeTab权限http://developer.chrome.com/extensions/activeTab但它仅在没有弹出窗口时有效。正如您在 make_page_red 中看到的那样 例子。

chrome.browserAction.onClicked.addListener(function(tab) {  // No tabs or host permissions needed!  console.log("★ tab.url", tab.url);});

您可以通过更改 make_page_red 来检查 添加默认弹出窗口的 list 文件示例:

{  "name": "Page Redder",  "description": "Make the current page red",  "version": "2.0",  "permissions": [    "activeTab"  ],  "background": {    "scripts": ["background.js"],    "persistent": false  },  "browser_action": {    "default_title": "Make this page red",    "default_popup": "popup.html"  ←-------------------  },  "manifest_version": 2}

现在因为我有一个默认弹出窗口,所以不再调用 browserAction.onClicked 监听器。

如何获取当前选项卡 url 并仍然打开弹出窗口?

谢谢

最佳答案

browserAction.onClicked 不再调用(如您所述),因此请跳过:

popup.js:

chrome.tabs.query({active:true,currentWindow:true},function(tabArray){
console.log(tabArray[0].url);
});

当然,让popup.html加载带有script标签的popup.js。 (而且我不确定你的后台脚本在做什么。)

编辑:

除了上述之外,我的扩展还有另外两个文件。 manifest.json 是从您的 list 中复制的,但删除了背景部分。唯一的其他文件是 popup.html(凭内存,请耐心等待):

<html><body><script type="text/javascript" src="popup.js"></script></body></html>

要查看控制台,我单击浏览器操作,这会弹出一个 50 像素的正方形窗口。右键单击它,“检查元素”,然后单击控制台以查看 url。

关于google-chrome-extension - 如何在打开弹出窗口时获取当前选项卡 url [没有选项卡权限],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22380776/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com