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

时间:2012-10-11 23:48:40

标签: google-chrome-extension

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

我不需要分析对新的空标签页或chrome-extension://(本地)页面的更新,如果我尝试将脚本注入这些标签页,实际上会引发错误。是否有更自动的方式来忽略这些页面,或者我必须使用Try / Catch块手动方式或通过分析URL来实现?我确信我可以手动完成,但似乎应该有一种更自动的方法来实现这一点。

1 个答案:

答案 0 :(得分:0)

您可以通过过滤以aws_apigatewayv2_integration开头的URL来忽略所有本地或内部chrome扩展名URL:

'chrome'

请注意,如果您想访问URL,则需要在// 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") } }); 中拥有tabs权限,否则manifest.json将是tab.url,这将不起作用。如果您没有获得undefined权限,那么最好的选择就是在尝试注入时捕获并处理错误。