我正在构建一个chrome扩展程序,该扩展程序在每次打开新标签页并加载页面时都会得到通知,为此,我正在使用chrome.tabs.onUpdated事件.
I am building a chrome extension that should get notified every time a new tab has opened and load page, and for that purpose I'am using chrome.tabs.onUpdated event.
问题是,如果在某个域(具有src)上托管的页面/标签上插入了iframe,则会触发onUpdated事件.有没有办法将这些实际"标签加载事件与为iframe加载触发的事件区分开来?
The problem is that in case an iframe is inserted on that page/tab that is hosted on some domain(has src), onUpdated event is trigered. Is there a way to differentiate these events for "real" tab load from those triggered for iframe load?
推荐答案tabs.onUpdated在状态在loading到complete之间变化时触发.大概是,插入iframe会使标签页再次变为loading状态.
tabs.onUpdated triggers when state changes between loading to complete. Presumably, inserting an iframe puts the tab to loading state again.
您可以查看是否在onUpdated侦听器中定义了details.url-如果未定义,则您知道文档的URL并未更改.
You could see if details.url is defined in onUpdated listener - if not, you know that the document's URL did not change.
也许您应该出于目的使用 webNavigation API .在那里,您会得到一个TransitionQualifier,可用于过滤子帧导航.
Perhaps you should use webNavigation API instead for your purpose. There, you get a TransitionQualifier that you can use to filter out subframe navigation.
更多推荐
Chrome扩展程序标签上的onUpdated事件
发布评论