2013-02-07 14 views
25

मेरे पास एक रीढ़ की हड्डी ऐप है जिसमें AJAX का एक टन है। (प्रत्येक पृष्ठ लोड परिणाम 5-6 AJAX कॉल में) क्योंकि मेरे पास उन विचारों के भीतर कई विचार और आंतरिक दृश्य हैं,क्या phantom.js सभी AJAX को कैप्चर करता है?

यदि मैं Phantom.js चलाता हूं, तो क्या मुझे अंतिम HTML परिणाम मिल सकता है?

अंतिम परिणाम वह है जो उपयोगकर्ता मेरे सभी AJAX कॉल चलाने के बाद देखता है।

+5

अपने आप को क्यों न करें? –

+0

'अंतिम HTML' के साथ आपका क्या मतलब है? क्या आपका मतलब 'document.body.innerHTML' जैसा है? – 11684

उत्तर

35

फ़ैमटनजेएस जावास्क्रिप्ट एपीआई के साथ एक हेडलेस वेबकिट है। पृष्ठ को क्रॉल करते समय, फ़ैटॉमजे सभी आश्रित अनुरोधों जैसे छवियों, जेएस, सीएसएस डाउनलोड करेंगे ... यह जेएस और अजाक्स कॉल भी निष्पादित करेगा। हालांकि पृष्ठ लोड होने पर ऑनलोडेड कॉलबैक लागू होता है, न कि जब कोई लंबित अनुरोध नहीं होता है। तो, आपको इसके लिए एक चाल का उपयोग करना होगा। जब तक "कुछ" को प्रभावी ढंग से आप पेज (एक तत्व) में बदल

  • प्रतीक्षा:

    समस्या को हल करने के लिए दो रास्ते हैं। सबसे अच्छा उदाहरण waitFor.js

  • कोई अनुरोध प्राप्त होने तक कुछ सेकंड प्रतीक्षा करें।
+3

क्या waitFor.js के लिए कोई node.js मॉड्यूल है? मैं node.js में phamtom.js का उपयोग कर रहा हूं ... – TIMEX

+0

वास्तव में node.js. के लिए नहीं पता है। लेकिन waitFor.js आपको एक मूल उदाहरण है जो आपको करना है। मुझे यकीन है कि आप इसे अपने मामले में आसानी से उपयोग करने में सक्षम होंगे। – Cybermaxs

11

Phantom.js आपके पृष्ठ में जावास्क्रिप्ट चलाने में सक्षम है, इसलिए यह काम करना चाहिए। एक article है जो वर्णन करता है कि क्रॉलर को Phantom.js का उपयोग करके जावास्क्रिप्ट साइटों के अच्छे संस्करण कैसे दें।

इस thread describes के रूप में AJAX कॉल को पूरा करने के लिए Phantom.js पर्याप्त समय देना सुनिश्चित करें।

1

आप waitFor.js स्क्रिप्ट के साथ $ .active का उपयोग कर सकते हैं जो किसी सर्वर से सक्रिय कनेक्शन नहीं देता है और हमें सभी अनुरोधों को पूरा होने के लिए 0 होने का इंतजार करना होगा।

और जानकारी: jQuery.active function

0

आप waitFor() तरीका से वेबसाइट के जावास्क्रिप्ट कोड के लिए उपयोग, एक तरफ है, तो मुझे लगता है कि आप अपने ajax अनुरोध तुल्यकालिक कर सकते हैं। यह कभी-कभी सरल और अधिक सटीक होता है।

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