2014-12-30 7 views
5

मैं एक क्रोम विस्तार कर रही है कर रहा हूँ कहा जाता है और मेरी समस्या यह है कि chrome.tabs.onUpdated.addListener() कई बार बुलाया जा रहा है।chrome.tabs.onUpdated.addListener() कई बार

मेरे कोड इस

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) { 
    if(changeInfo.status == 'complete' && tab.status == 'complete' && tab.url != undefined){ 
     doSomething 
    } 
}); 

यह Chrome अंक 162,543 से संबंधित है और ऐसा लगता है के रूप में तय लेकिन मैं अभी भी इस समस्या की तरह है।

+0

घटना श्रोता कई बार चलाने के लिए या एक से अधिक ट्रिगर घटनाओं रहे हैं हो रही है? – abraham

+0

घटना श्रोता –

+1

आप अपने manifest.json फ़ाइल पोस्ट कर सकते हैं? यदि आपके पास "लगातार" है: आपकी पृष्ठभूमि प्रविष्टि में झूठी, आप ऑन-अपडेटेड ईवेंट पर एकाधिक कॉल प्राप्त कर सकते हैं। – Paul

उत्तर

2

कृपया ध्यान रखें chrome.tabs.onUpdated भी iframes के लिए निकाल दिया जाएगा, यदि किसी पृष्ठ में कई iframes हैं, तो प्रत्येक पूर्ण iframe ईवेंट को ट्रिगर करेगा हालांकि आपने changeInfo.status चेक किया है।

इस समस्या को हल करने के लिए, आप Chrome extension - page update twice then removed on YouTube पर इस पोस्ट में अपना उत्तर देख सकते हैं, और chrome.webNavigation.onCompleted या chrome.webNavigation.onHistoryStateUpdated का उपयोग कर सकते हैं, जो आपकी परीक्षण साइटों पर निर्भर करता है।

संबंधित मुद्दे