Dom*_*azi 3 javascript google-chrome event-listener google-chrome-extension
我有一个扩展,每次使用chrome.tabs.onUpdated事件监听器更改网页时都会检测到.此事件侦听器中的代码根据页面URL执行某些任务.我还想在从一个选项卡切换到另一个选项卡时执行这些任务,但这并不会激活chrome.tabs.onUpdated事件侦听器,因此我会使用chrome.tabs.onActivated监听选项卡更改.
问题是使用chrome.tabs.onActivated没有给我我刚刚切换到的选项卡的URL,这是我需要的.任何人都可以帮我吗?
谢谢
除了到chrome.tabs.onUpdated,你的事件 ALREADY使用您的其他功能(你上面的描述),你也可以使用chrome.tabs.get方法来获取tabId来自onActivated的事件对象,然后传递给一个函数.但是,在这种情况下,恕我直言选项2对你来说是更好的选择:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
//... whatever other stuff you were doing anyway
});
chrome.tabs.onActivated.addListener(function(evt){
chrome.tabs.get(evt.tabId, function(tab){
alert(tab.url); //the URL you asked for in *THIS QUESTION*
});
});
Run Code Online (Sandbox Code Playgroud)onUpdated一次事件(更好):在同一事件中,同时处理您的其他内容和您正在寻找的内容:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
//... whatever other stuff you were doing anyway
chrome.tabs.getSelected(null, function(tab) {
alert(tab.url); //the URL you asked for in *THIS QUESTION*
});
});
Run Code Online (Sandbox Code Playgroud).
您的manifest.json文件应具有" 标签权限":
Run Code Online (Sandbox Code Playgroud){ "name": "My extension", ... "permissions": [ "tabs" ], ... }
| 归档时间: |
|
| 查看次数: |
2244 次 |
| 最近记录: |