gpt4 book ai didi

google-chrome-extension - 使用 chrome.tabs.onUpdated 时忽略本地 URL

转载 作者:行者123 更新时间:2023-12-02 05:04:59 26 4
gpt4 key购买 nike

我正在编写一个 Chrome 扩展程序来分析用户访问的网站。我决定使用 chrome.tabs.onUpdated 来运行我的分析脚本而不是 manifest.json 中的 content_scripts,因为 chrome.tabs.onUpdated 在 AJAX 繁重的网站上可以更好地获取页面刷新。

我不需要分析对新的空选项卡或 chrome-extension://(本地)页面的更新,事实上,如果我尝试将脚本注入(inject)这些选项卡,则会抛出错误。是否有更自动的方法来忽略这些页面,或者我是否必须使用 Try/Catch block 或通过分析 URL 以手动方式进行操作?我确信我可以手动完成它,但似乎应该有一种更自动的方法来完成它。

最佳答案

您可以通过过滤掉以 'chrome' 开头的网址来忽略所有本地或内部 chrome 扩展网址:

// Listen for changes on tabs
chrome.tabs.onUpdated.addListener(function(tabId, info, tab) {
log_console('tab', tab)

// If tab is not an internal chrome tab
if (!tab.url.startsWith('chrome')) {
console.log('Non-internal URL updated")
}

});

请注意,如果您想访问该 URL,您需要在 manifest.json 中拥有 tabs 权限,否则 tab.url 将是undefined 这行不通。如果您无法获得 tabs 权限,最好的办法可能是在您尝试注入(inject)时捕获并处理错误。

关于google-chrome-extension - 使用 chrome.tabs.onUpdated 时忽略本地 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12850311/

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