从chrome.tabs.onUpdated获取以前的url
Get previous url from chrome.tabs.onUpdated
chrome.tabs API为我们提供了一种方法来监听每个选项卡的url变化。https://developer.chrome.com/extensions/tabs#event-on更新的
我可以添加这样一个监听器:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
// changeInfo.url gives the updated url if it's changed
// tab.url gives the current url for the tab
});
我想做的是检测域是否发生了更改,并在发生更改时执行一些操作。
例如,如果url从https://google.com/abc到https://google.com做点什么。
有人知道最好的方法吗?
看起来没有什么好方法可以从chrome.tabs API获取上一个url。我目前正在做的是有一个哈希图,它可以跟踪每个tabId的前一个url,如下所示:
var tabIdToPreviousUrl = {};
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
if (changeInfo.url && changeInfo.url.match(/<regex>/g)) {
var previousUrl = "";
if (tabId in tab) {
previousUrl = tabIdToPreviousUrl[tabId];
}
// If the domain is different perform action.
if (previousUrl !== changeInfo.url) {
// do something
}
// Add the current url as previous url
tabIdToPreviousUrl[tabId] = changeInfo.url;
}
});
试试这个:
var previousUrl = "";
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
//Your code here
});
chrome.webNavigation.onBeforeNavigate.addListener(function(object){
chrome.tabs.get(object.tabId, function(tab){ previousUrl = tab.url;});
});
请注意,您需要在清单中列出"webNavigation"。json
相关文章:
- 如何在reactrouterv2.+中从URL获取参数
- 如何通过给定的url获取youtube音频数据
- 从 url 获取字符串值
- "“用户友好”;vimeo嵌入,从url获取嵌入代码
- 从Javascript中的URL获取参数
- IFrame 从不同域上的父 url 获取参数
- 从URL获取JSON数据并使用innerHTML - 如何显示
- 如何从文档 URL 获取哈希
- 使用 jquery 或 JavaScript 从 URL 获取具有三括号的 JSON 数据
- 使用 JavaScript 从 URL 获取 JSON 响应
- JavaScript:从具有使用 # 符号的路由的 URL 获取查询字符串
- 使用javascript从url获取自动建议
- 从URL获取数据并阻止自动重定向(插件SDK Mozilla)
- 主干:在变量中提供JSON,而不是通过URL获取
- Angularjs-如何从URL获取参数
- JS:根据页面URL获取图片
- JSON获胜't从URL获取完整日历中的事件
- 从url获取文件名
- 使用javascript或PHP从给定的URL获取图像源
- 如何从websocket url获取数据