2013-03-21 556 views
7

मैं ब्राउज़र एक्सटेंशन पर काम कर रहा हूं (लगता है SEOQuake) - मुझे दिखाए गए खोज परिणामों के बारे में कुछ डेटा प्रदर्शित करने की आवश्यकता है।यह पता लगाने के लिए कि Google त्वरित पृष्ठ पूरी तरह से लोड हो गया है?

समस्या: यदि Google इंस्टेंट परिणाम पृष्ठ में कुछ भी जोड़ा जाता है, जबकि यह अभी भी लोड होने की प्रक्रिया में है, तो यह किसी भी परिवर्धन को ओवरराइट कर देगा। मैंने खुद को कुछ वास्तव में भद्दा सेट अंतराल व्यवसाय लिखने में पकड़ा (ol#rso की सामग्री को आकार में बदलने से रोकें, इसलिए मुझे लगता है कि इसका मतलब है कि मुझे यकीन नहीं है कि पृष्ठ को लोड करने के तरीके को विश्वसनीय रूप से निर्धारित करने के लिए कैसे सुनिश्चित किया जाए।

I बस 1-2 सेकंड तक प्रतीक्षा कर सकता है, लेकिन परिणामस्वरूप अधिकतम डेटा बचाने के लिए परिणाम लोड होने के बाद मैं वास्तव में डेटा लाने शुरू करना चाहता हूं।

संपादित करें: ध्यान रखें, मैं DOMElement का उपयोग नहीं कर सकता क्योंकि जो भी IE8 इसका समर्थन नहीं करता है।

+0

मुझे यकीन नहीं है कि अभी तक एक अच्छा क्रॉस-ब्राउज़र समाधान है या नहीं। नए [उत्परिवर्तन पर्यवेक्षक] हैं (http://updates.html5rocks.com/2012/02/Detect-DOM-changes-with-Mutation-Observers) और यहां तक ​​कि [उत्परिवर्तन सारांश] (https://code.google .com/p/mutation-summary /) लाइब्रेरी मदद करने के लिए, लेकिन कोई आईई प्यार नहीं है। [CSS3 एनीमेशन घटनाओं] का उपयोग करके एक और दिलचस्प दृष्टिकोण (http://www.backalleycoder.com/2012/08/06/css-selector-listeners/), लेकिन कोई आईई प्यार नहीं :-p IE के लिए 'setInterval' हैक के बारे में कैसे और सब कुछ के लिए उत्परिवर्तन सारांश? – thirdender

+0

आप आईई के लिए [onpropertychange] (http://msdn.microsoft.com/en-us/library/ie/ms536956 (v = vs.85) .aspx) ईवेंट का उपयोग करने में सक्षम हो सकते हैं। – thirdender

उत्तर

3

इस प्रयास करें:

window.addEventListener("message", function(e) {if(e.data == 'jrc') console.log('loaded')}, false); 

कि IE में काम करना चाहिए 8 और सभी अन्य ब्राउज़र: http://caniuse.com/#feat=x-doc-messaging

कि IE 8 में काम नहीं करता है (अपने Mac पर सही में परीक्षण नहीं कर सकते अब), मुझे बताओ। मेरा मानना ​​है कि मुझे पिछले घंटे में rs.js की कुछ उचित समझ मिली है। ;)

+0

एक संपादन जो समीक्षकों द्वारा अस्वीकार कर दिया गया था क्योंकि इसे एक उत्तर दिया जाना चाहिए था, अब तक, इसे 'e.data.type ==' sr'' कहना चाहिए – mrks

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

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