red*_*hka 1 google-chrome-extension
我在chrome 31.0.1650.57上进行了browserAction扩展测试.我想在用户点击扩展图标时获取活动标签网址,保存并稍后使用.
使用制表符权限时,我可以这样做.但是这个权限有很多权力(我不需要),用户也在抱怨这个.
我按照文章切换到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示例清单文件来检查以添加如下默认弹出窗口:
{
"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监听器.
我怎样才能获得当前标签页面并仍然弹出我的弹出窗口?
谢谢
不再调用browserAction.onClicked(正如您所说),所以只需跳过:
popup.js:
chrome.tabs.query({active:true,currentWindow:true},function(tabArray){
console.log(tabArray[0].url);
});
Run Code Online (Sandbox Code Playgroud)
,当然,有popup.html负载popup.js用script标签.(而且我不确定你的后台脚本是做什么的.)
编辑:
除了上述内容,我的扩展还有另外两个文件. manifest.json是从您的复制,但删除了背景部分.唯一的另一个文件是popup.html(来自内存,所以请耐心等待):
<html><body><script type="text/javascript" src="popup.js"></script></body></html>
Run Code Online (Sandbox Code Playgroud)
要查看控制台,我单击浏览器操作,它会显示一个50像素的方形窗口.右键单击"检查元素",然后单击控制台以查看URL.
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |