web初学者,很多都没遇到过。
编写chrome插件的时候,在background.js中监控标签页刷新事件的时候,发现总是一下子调用两次回调函数。
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
// 做事情
});
原来是因为,在整个页面的重新加载过程中,changleInfo会发生变化,一次是loading,一次是complete,所以会调用两次回调函数。
所以我只想调用一次的话,限定一下条件即可:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
if (changeInfo.status == "loading")
// 做事情
});