वेबपेज के उत्पन्न स्रोत को देखने का सबसे अच्छा तरीका?


84

मैं एक उपकरण की तलाश कर रहा हूँ जो मुझे W3 के सत्यापनकर्ता में इनपुट के लिए AJAX अनुरोधों द्वारा किए गए DOM परिवर्तनों सहित उचित उत्पन्न स्रोत देगा। मैंने निम्नलिखित विधियों की कोशिश की है:

  1. वेब डेवलपर टूलबार - डॉक्स-प्रकार के अनुसार अमान्य स्रोत उत्पन्न करता है (जैसे यह टैग के स्व समापन भाग को हटा देता है)। पृष्ठ के सिद्धांत भाग को खो देता है।
  2. फायरबग - स्रोत में संभावित खामियों को ठीक करता है (उदाहरण के लिए अस्पष्ट टैग)। टैग के doctype भाग को भी खो देता है और कंसोल को नियंत्रित करता है जो कि अवैध HTML है।
  3. IE डेवलपर टूलबार - डॉक्स-प्रकार के अनुसार अवैध स्रोत उत्पन्न करता है (जैसे कि यह सभी टैग्स को अपरकेस बनाता है, एक्सएचटीएमएल कल्पना के खिलाफ)।
  4. हाइलाइट + चयन स्रोत देखें - पूरे पृष्ठ को प्राप्त करने के लिए अक्सर कठिन, डॉक्स-प्रकार को भी बाहर करता है।

क्या कोई कार्यक्रम या ऐड-ऑन है जो मुझे किसी भी तरह से इसे ठीक करने या बदलने के बिना, स्रोत का सटीक वर्तमान संस्करण देगा? अब तक, फायरबग सबसे अच्छा लगता है, लेकिन मुझे चिंता है कि यह मेरी कुछ गलतियों को ठीक कर सकता है।

समाधान

यह पता चला है कि जस्टिन ने मुझे जो बताया था उसका कोई सटीक समाधान नहीं है। सबसे अच्छा समाधान फायरबग के कंसोल के अंदर स्रोत को मान्य करना प्रतीत होता है, भले ही इसमें फायरबग के कारण कुछ त्रुटियां होंगी। मैं यह समझने के लिए भी भूल गया कि अर्धविराम का शुक्रिया अदा करना चाहता हूं कि "View Generated Source" वास्तविक स्रोत से मेल नहीं खाता। अगर मैं 2 सर्वश्रेष्ठ उत्तरों को चिह्नित कर सकता हूं, तो मैं करूंगा।


हम्म, मैंने सोचा था कि वह सर्वर द्वारा उत्सर्जित रिवर्स - सटीक HTML के लिए पूछ रहा था। जेरेमी?
जस्टिन ग्रांट

कोई बात नहीं, बस नई टिप्पणी देखी। अब यह अधिक समझ में आता है कि आप क्या करने की कोशिश कर रहे हैं - स्पष्ट करने के लिए धन्यवाद। मैं उसी हिसाब से अपना जवाब अपडेट करूंगा।
जस्टिन ग्रांट

यह उल्लेखनीय है कि इस पोस्ट के कई दर्शकों ने मुख्य बिंदु को याद किया, जो कि स्थिर स्रोत का उपयोग उन पृष्ठों का विश्लेषण करने के लिए नहीं किया जा सकता है जिन्हें जावास्क्रिप्ट द्वारा संशोधित किया गया है। फायरबग इसके लिए बहुत अच्छा है, लेकिन यह अच्छा होगा अगर वहाँ और IE उपकरण ऐसा ही करें, क्योंकि ब्राउज़र संगतता IE से एक बड़ा मुद्दा है।
पॉल कीस्टर

1
फ़ायरबग HTML में किसी भी त्रुटि को ठीक नहीं करता है। यह फ़ायरफ़ॉक्स डोम से केवल टैग निकालता है। फायरबग 1.6 तत्वों को जोड़ने से बचा जाता है; फायरबग के सभी संस्करणों के लिए आप कंसोल पैनल को अक्षम करके DOM को बदलने से बच सकते हैं।
जॉन्जबार्टन

1
मैंने अभी इस प्रश्न से बहुत कुछ सीखा है!
सर्गेई ओरशान्स्की

जवाबों:


32

[संपादित प्रश्न में अधिक जानकारी के जवाब में अद्यतन]

आप जिस समस्या में चल रहे हैं, वह यह है कि एक बार ajax अनुरोधों के द्वारा एक पृष्ठ को संशोधित करने के बाद, वर्तमान HTML केवल ब्राउज़र के DOM के अंदर मौजूद है - अब कोई स्वतंत्र स्रोत HTML नहीं है जिसे आप अपने द्वारा खींचे जाने के अलावा अन्य मान्य कर सकते हैं डोम।

जैसा कि आपने देखा है, IE का DOM अपर केस में टैग को स्टोर करता है, अशुद्ध टैग को ठीक करता है, और HTML में कई अन्य परिवर्तन करता है जो इसे मूल रूप से मिला है। ऐसा इसलिए है क्योंकि ब्राउज़र आम तौर पर समस्याओं के साथ HTML लेने में बहुत अच्छे होते हैं (उदाहरण के लिए अस्पष्ट टैग) और उपयोगकर्ता के लिए उपयोगी कुछ प्रदर्शित करने के लिए उन समस्याओं को ठीक करना। एक बार जब IE द्वारा HTML को रद्द कर दिया गया है, तो मूल स्रोत HTML अनिवार्य रूप से DOM के दृष्टिकोण से खो गया है, जहां तक ​​मुझे पता है।

फ़ायरफ़ॉक्स सबसे अधिक इन परिवर्तनों को कम करता है, इसलिए फायरबग शायद आपका बेहतर दांव है।

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

[मूल प्रश्न के लिए यहां मूल प्रतिक्रिया]

फ़िडलर ( http://www.fiddlertool.com/ ) एक मुफ़्त, ब्राउज़र-स्वतंत्र टूल है जो ब्राउज़र द्वारा प्राप्त सटीक HTML प्राप्त करने के लिए बहुत अच्छी तरह से काम करता है। यह आपको तार पर सटीक बाइट्स के साथ-साथ डीकोड / अनजिप्ड / आदि सामग्री दिखाता है जिसे आप किसी भी HTML विश्लेषण उपकरण में फीड कर सकते हैं। यह हेडर, टाइमिंग, HTTP स्टेटस और बहुत सारी अन्य अच्छी चीजें दिखाता है।

यदि आप परीक्षण करना चाहते हैं कि कोई सर्वर थोड़े अलग हेडर का जवाब कैसे देता है, तो आप अनुरोधों को कॉपी और पुनर्निर्माण करने के लिए फ़िडलर का उपयोग कर सकते हैं।

फ़िडलर एक प्रॉक्सी सर्वर के रूप में काम करता है, जो आपके ब्राउज़र और वेबसाइट के बीच में बैठा है, और दोनों तरह से ट्रैफ़िक को लॉग करता है।


फिडलर के साथ परिचित, यह वह करने का एक आसान तरीका नहीं है जो मैं चाहता हूं (उपयोगकर्ता द्वारा बदल दिए जाने के बाद किसी पृष्ठ के उत्पन्न स्रोत को देखना)।
जेरेमी कॉफ़मैन

1
वह चाहता है कि जावास्क्रिप्ट को संशोधित करने के बाद पेज के स्रोत को संशोधित किया जाए।
बायरन व्हिटलॉक

मैं नीच नहीं हूं, लेकिन आपके जवाब का सवाल से कोई लेना-देना नहीं है। आपकी टिप्पणी के बाद से प्रश्न संपादित किया गया हो सकता है।
19

हां, मुझे पता है कि अब ... मूल प्रश्न ने उस महत्वपूर्ण विवरण का उल्लेख नहीं किया, हालांकि। :-) एक बार जब मुझे ओपी से नई जानकारी मिली, तो मैंने अपना उत्तर अपडेट कर दिया। लेकिन मुझे लगता है कि मेरा मूल उत्तर मूल प्रश्न का एक उचित उत्तर था। भले ही यह सबसे अच्छा जवाब नहीं है (मुझे फॉरगॉटन सेमीकोलोन बहुत बेहतर लगता है!), मैं सोच रहा हूं कि मेरे जवाब को क्या करना चाहिए। कोई बड़ी बात नहीं, बस सोच रहा था।
जस्टिन ग्रांट

वर्तमान HTML के बारे में इस स्पष्टीकरण के लिए धन्यवाद केवल ब्राउज़र के DOM के अंदर मौजूद है। यह मेरी समस्या की जड़ है और मुझे यह समझ में नहीं आया कि मैंने कब पूछा। यह मुझे विश्वास दिलाता है कि जो मैं पूछ रहा हूं वह अनिवार्य रूप से असंभव है।
जेरेमी कॉफमैन

34

जस्टिन मर चुका है। यहां मुख्य बात यह है कि HTML एक दस्तावेज़ का वर्णन करने के लिए सिर्फ एक भाषा है। एक बार जब ब्राउज़र इसे पढ़ लेता है, तो यह चला गया है । खुले टैग, करीबी टैग, और स्वरूपण सभी पार्सर द्वारा ध्यान रखे जाते हैं और फिर चले जाते हैं । कोई भी उपकरण जो आपको दिखाता है कि HTML उसे दस्तावेज़ की सामग्री के आधार पर उत्पन्न कर रहा है , इसलिए यह हमेशा मान्य होगा।

मुझे इसे एक बार दूसरे वेब डेवलपर को समझाना पड़ा, और इसे स्वीकार करने में उसे थोड़ा समय लगा।

आप इसे अपने लिए किसी भी जावास्क्रिप्ट कंसोल में आज़मा सकते हैं:

el = document.createElement('div');
el.innerHTML = "<p>Some text<P>More text";
el.innerHTML; // <p>Some text</p><p>More text</p>

अन-बंद टैग और अपरकेस टैग नाम चले गए हैं, क्योंकि HTML को दूसरी पंक्ति के बाद पार्स और छोड़ दिया गया था।

जावास्क्रिप्ट से दस्तावेज़ को संशोधित करने के सही तरीके के साथ है documentतरीकों ( createElement, appendChild, setAttribute, आदि) और आप का पालन करेंगे उन कार्यों में से किसी में टैग या HTML वाक्य रचना के लिए कोई संदर्भ नहीं है कि। आप उपयोग कर रहे हैं document.write, innerHTMLया अन्य HTML बोलने वाले कॉल के लिए अपने पृष्ठों को संशोधित करने, एक ही रास्ता यह पकड़ने के लिए क्या आप उन्हें में डाल और सत्यापित करें रहे हैं कि HTML अलग है मान्य करने के लिए।

कहा कि, दस्तावेज़ के HTML प्रतिनिधित्व में प्राप्त करने का सबसे सरल तरीका यह है:

document.documentElement.innerHTML

1
तो, इस उत्तर को पुनःप्रकाशित करने के लिए, यह एक प्रोग्राम को संकलित करने, कुछ उपकरण के साथ कोड को अनुकूलित करने या अन्यथा संशोधित करने या यहां तक ​​कि वायरस के साथ प्रोग्राम को संक्रमित करने और फिर परिणाम के स्रोत कोड के लिए पूछने जैसा है। परिवर्तन HTML-> DOM एक तरह से कार्य है।
सेर्गेई ओरशान्स्की

+1, पवित्र नरक, जो प्रत्येक संशोधन से पहले और बाद में कोड को देखने का काम करता है। बहुत स्मार्ट सोच! धन्यवाद
jimjim

यह सच हो सकता है, लेकिन इस सवाल का जवाब नहीं है। वर्तमान में हेरफेर किए गए DOM को HTML में बदलना पूरी तरह से संभव है, जिससे आप "उत्पन्न स्रोत को देख सकते हैं"। यह कभी-कभार काफी उपयोगी होता है, उदाहरण के लिए यदि आपको एक यथार्थवादी परीक्षण दोहन के खिलाफ जावास्क्रिप्ट के एक टुकड़े की जांच करने की आवश्यकता है।
superluminary

21

मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन मुझे अभी यह सोना मिला है । यह पुराना (2006) है, लेकिन फिर भी IE9 के साथ काम करता है। मैंने व्यक्तिगत रूप से इसके साथ एक बुकमार्क जोड़ा।

बस इसे अपने ब्राउज़र के एड्रेस बार में कॉपी पेस्ट करें:

javascript:void(window.open("javascript:document.open(\"text/plain\");document.write(opener.document.body.parentNode.outerHTML)"))

फ़ायरफ़ॉक्स के रूप में, वेब डेवलपर टूल बार काम करता है। मैं आमतौर पर इसका उपयोग करता हूं, लेकिन कभी-कभी, कुछ गंदे 3 पार्टी asp.net नियंत्रण उपयोगकर्ता एजेंट के आधार पर अंतर मार्कअप उत्पन्न करता है ...

संपादित करें

जैसा कि ब्रायन ने टिप्पणी में बताया, कुछ ब्राउज़र javascript:url बार में कॉपी / पेस्ट करते समय भाग को हटा देते हैं । मैंने अभी परीक्षण किया है और IE10 के साथ ऐसा ही है।


वाह, यह वास्तव में स्वर्ण है! बुकमार्क पर एक क्लिक के साथ बढ़िया काम करता है। कम से कम, यह अभी फ़ायरफ़ॉक्स में किया था। क्रोम के साथ, पॉपअप प्रदान किया गया - शायद यह "पाठ / सादे" को अनदेखा करता है?
जॉन कूम्स

मैं इसे अपने ब्राउज़र के एड्रेस बार और एंटर में कॉपी करता हूँ, कुछ भी नहीं होता है
eMi

1
@eMi मैं यहाँ IE10 है, और यह मुझे javascript:भाग पेस्ट नहीं करने देता है , मुझे इसे मैन्युअल रूप से लिखना होगा। शायद यही होता है। क्या चिपकाया है, इसकी दोबारा जाँच करें।
जॉनी 5

1
Mac OSX पर Google Chrome पर (कम से कम v44.0.2403.155 के रूप में), @ Johnny5 द्वारा बुकमार्क को ओपनर के स्रोत वाले एक सादे टेक्स्ट पेज में नहीं लाया जाता है, लेकिन Chrome HTML को रेंडर करने का प्रयास करता है, लेकिन CSS के माध्यम से की नज़र से।
डेव लैंड

@ जॉनी 5 उत्तर में एक नोट के रूप में ध्यान देने योग्य हो सकता है javascript:जो कुछ ब्राउज़रों में कॉपी / पेस्ट करते समय कट जाता है। बस क्रोम में वह मुद्दा था।
ब्रायन

12

यदि आप दस्तावेज़ को क्रोम में लोड करते हैं, तो Developer|Elementsदृश्य आपको HTML को आपके जेएस कोड द्वारा फिडेल दिखाएगा। यह सीधे HTML पाठ नहीं है और आपको ब्याज के किसी भी तत्व को खोलना (प्रकट करना) है, लेकिन आप प्रभावी रूप से उत्पन्न HTML का निरीक्षण करते हैं।


11
Google Chrome में, निरीक्षण तत्व में, आप किसी भी तत्व पर क्लिक कर सकते हैं और "HTML के रूप में कॉपी करें"
JasonPlutext

3
@ जेसन आपको इसके लिए बहुत बहुत धन्यवाद। <Html> तत्व पर राइट-क्लिक करने और "कॉपी के रूप में HTML" चुनने से मुझे वही मिला, जो मुझे आज क्रोम में चाहिए था।
20G में डेवगॉउर

11

वेब डेवलपर टूलबार में, आपने Tools -> Validate HTMLया Tools -> Validate Local HTMLविकल्पों की कोशिश की है ?

Validate HTMLविकल्प सत्यापनकर्ता, जो सार्वजनिक रूप का सामना करना पड़ साइटों के साथ अच्छी तरह से काम करता है के लिए यूआरएल भेजता है। Validate Local HTMLविकल्प सत्यापनकर्ता, जो प्रवेश के बाद के पृष्ठों, या उन है कि सार्वजनिक रूप से सुलभ नहीं हैं के साथ अच्छी तरह से काम करने के लिए वर्तमान पृष्ठ के HTML भेजता है।

आप स्रोत चार्ट ( फ़ायरफ़ॉक्स ऐड-ऑन के रूप में भी ) को देखने का प्रयास कर सकते हैं । एक दिलचस्प नोट वहाँ:

Q. स्रोत स्रोत चार्ट मेरे XHTML टैग को HTML टैग में क्यों बदलता है?

यह नहीं है। ब्राउज़र इन परिवर्तनों को बना रहा है, VSC केवल यह दिखाता है कि ब्राउज़र ने आपके कोड के साथ क्या किया है। सबसे आम: स्वयं समापन टैग अपने समापन स्लेश (/) को खो देते हैं। अधिक जानकारी के लिए रेंडरड सोर्स पर यह लेख देखें (आर्काइव.ऑर्ग)


मैंने डाउनवोट नहीं किया, लेकिन "मान्य HTML" जेनरेट किए गए HTML को नहीं भेजेगा, लेकिन मूल स्रोत को। (संपादित प्रश्न देखें)
पेका

मैंने बस यह कोशिश की, यह उत्पन्न स्रोत (यानी डोम परिवर्तन के साथ स्रोत) को प्रस्तुत करने के लिए प्रकट नहीं होता है, लेकिन वह स्रोत जो फ़ायरफ़ॉक्स के "व्यू स्रोत" विकल्प के साथ देखा जाएगा।
जेरेमी कॉफ़मैन

मुझ पर गोलपोस्ट बदलना!
भूल गए अर्धविराम

1
मैंने सोचा था कि "उत्पन्न स्रोत" प्रश्न के उस हिस्से को स्पष्ट कर देगा, लेकिन अब तक 4 उत्तरों को देखते हुए मुझे स्पष्ट रूप से गलत लगा :) :)
जेरेमी कौफमैन

व्यू सोर्स चार्ट का लिंक टूटा हुआ है
केसबश

6

फ़ायरफ़ॉक्स वेब डेवलपर टूलबार ( https://addons.mozilla.org/en-US/firefox/addon/60 ) का उपयोग करना

सिर्फ View Source -> View Generated Source पर जाएं

मैं इसका उपयोग हर समय सटीक चीज़ के लिए करता हूँ।


और मैं अब आपके संपादन को देखता हूं जहां आप टूलबार के साथ Doctype समस्या का हवाला देते हैं। यह एक उचित आलोचना है और मेरे पास सुझाव देने के लिए और कुछ नहीं है।
19

3
महान काम करता है और अब वेनिला फ़ायरफ़ॉक्स में सही बनाया गया है। Ctrl + A, राइट-क्लिक, E. इसके अलावा, वह उत्कृष्ट बुकमार्क देखें, जो जॉनी 5 को मिला था।
जॉन कॉम्ब्स

फ़ायरफ़ॉक्स में: जनरेट की गई सामग्री के साथ पृष्ठ पर राइट-क्लिक करें, फिर वेब डेवलपर> स्रोत देखें> जेनरेट किया गया स्रोत
मार्क Gavagan

5

मैं एक ही समस्या थी, और मैं यहाँ एक समाधान मिल गया है:

http://ubuntuincident.wordpress.com/2011/04/15/scraping-ajax-web-pages/

तो, यहाँ से टूलबार का उपयोग करने के लिए:

http://simile.mit.edu/wiki/Crowbar (अब (२०१५-१२) ४०४ एस)
वेसबैक मशीन लिंक:
http://web.archive.org/web/20140421160451/http://simile.mit.edu/ wiki / लोहदंड

इसने मुझे दोषपूर्ण, अमान्य HTML दिया।


भी इस श्रृंखला के अन्य भागों की जाँच करें: भाग 2 , भाग 3
जेबा


बहुत उपयोगकर्ता के अनुकूल नहीं है, लेकिन अभी भी SVN के माध्यम से डाउनलोड किया जा सकता है: devres.zoomquiet.io/data/20110810165553/index.html
adamvagyok

5

यह एक पुरानी सवाल है, और यहाँ एक पुराने जवाब है कि है है एक बार मेरे लिए दोषरहित काम कई वर्षों के लिए है, लेकिन कम से कम जनवरी 2016 के रूप में नहीं, किसी भी अधिक नहीं करता है:

SquareFree का "जेनरेट सोर्स" बुकमार्क वही करता है जो आप चाहते हैं - और, @ जॉनी 5 से अन्यथा ठीक "पुराने सोने" के विपरीत, स्रोत कोड के रूप में प्रदर्शित होता है (सामान्य रूप से ब्राउज़र द्वारा प्रदान किए जाने के बजाय, कम से कम Google के मामले में Mac पर Chrome):

https://www.squarefree.com/bookmarklets/webdevel.html#generated_source

दुर्भाग्य से, यह @ जॉनी 5 से "पुराने सोने" की तरह व्यवहार करता है: यह किसी भी अधिक स्रोत कोड के रूप में नहीं दिखता है। माफ़ करना।


4

फ़ायरफ़ॉक्स में, बस ctrl-a (स्क्रीन पर सब कुछ चुनें) फिर राइट "सिलेक्शन सोर्स देखें" पर क्लिक करें। यह जावास्क्रिप्ट द्वारा DOM पर किए गए किसी भी परिवर्तन को कैप्चर करता है।


यदि पेज ने राइट क्लिक को हुक किया है तो यह काम नहीं करता है।
केविन व्हाइटफुट


3

यह टाइप क्यों नहीं है?

javascript:alert(document.body.innerHTML)

1
+1: IE 10 में एड्रेस बार में मेरे लिए काम नहीं किया, लेकिन यह IE देव टूल्स के कंसोल में खूबसूरती से काम करता है।
सॉसेजफिंगर 10

3

एलिमेंट्स टैब में, html नोड> कॉपी> कॉपी एलिमेंट पर राइट क्लिक करें - फिर एक एडिटर में पेस्ट करें।

जैसा कि ऊपर उल्लेख किया गया है, एक बार स्रोत को एक डोम ट्री में बदल दिया गया है, मूल स्रोत अब ब्राउज़र में मौजूद नहीं है। आपके द्वारा किए गए कोई भी परिवर्तन DOM के लिए होंगे, स्रोत नहीं।

हालाँकि, आप संशोधित DOM को HTML में पार्स कर सकते हैं, जिससे आप "जेनरेट सोर्स" देख सकते हैं।

  1. Chrome में, डेवलपर टूल खोलें और एलिमेंट्स टैब पर क्लिक करें।
  2. HTML तत्व पर राइट क्लिक करें।
  3. कॉपी> कॉपी एलिमेंट चुनें।
  4. एक संपादक में चिपकाएँ।

अब आप वर्तमान DOM को HTML पेज के रूप में देख सकते हैं।

यह पूर्ण DOM नहीं है

ध्यान दें कि DOM को HTML दस्तावेज़ द्वारा पूरी तरह से दर्शाया नहीं जा सकता है। ऐसा इसलिए है क्योंकि DOM में HTML से अधिक गुण हैं। हालाँकि यह एक उचित काम करेगा।


2

मुझे लगता है कि IE देव उपकरण (F12) है; दृश्य> स्रोत> DOM (पेज)

आपको DOM को कॉपी और पेस्ट करना होगा और इसे वेकेंटर को भेजने के लिए सहेजना होगा।


आप भी चाहते हो सकता है; फ़ाइल> इंटरनेट एक्स्प्लोरर कस्टमाइज़ करें व्यू सोर्स> ऊपर दिए गए काम को करने के लिए आसान बचत के लिए नोटपैड।
विल हांकॉक

1

केवल एक चीज जो मुझे मिली है वह है सफारी के लिए बेटरस सोर्स। यह आपको दस्तावेज़ के हेरफेर किए गए स्रोत को केवल नीचे दिखाएगा, यह फ़ायरफ़ॉक्स के लिए दूर की तरह कुछ भी नहीं है।


1

नीचे दिए गए जावास्क्रिप्ट कोड स्निपेट से आपको पूरा अजाक्स प्रदान किया गया HTML उत्पन्न स्रोत मिलेगा। ब्राउज़र स्वतंत्र। का आनंद लें :)

function outerHTML(node){
    // if IE, Chrome take the internal method otherwise build one as lower versions of firefox
        //does not support element.outerHTML property
  return node.outerHTML || (
      function(n){
          var div = document.createElement('div'), h;
          div.appendChild( n.cloneNode(true) );
          h = div.innerHTML;
          div = null;
          return h;
      })(node);
  }


 var outerhtml = outerHTML(document.getElementsByTagName('html')[0]);
var node = document.doctype;
var doctypestring="";
if(node)
{
     // IE8 and below does not have document.doctype and you will get null if you access it.

 doctypestring = "<!DOCTYPE "
         + node.name
         + (node.publicId ? ' PUBLIC "' + node.publicId + '"' : '')
         + (!node.publicId && node.systemId ? ' SYSTEM' : '') 
         + (node.systemId ? ' "' + node.systemId + '"' : '')
         + '>';
         }
         else

         {

             // for IE8 and below you can access doctype like this

         doctypestring = document.all[0].text;
         }
doctypestring +outerhtml ;

मुझे लगता है कि इसका उपयोग करने के लिए विशिष्ट निर्देशों की आवश्यकता होगी। मुझे लगता है कि आप मौजूदा पेज में कोड पेस्ट करेंगे, लेकिन आउटपुट कहां जाएगा?
जॉन कॉम्ब्स


0

मैं सांत्वना के लिए अजाक्स कॉल के परिणामों को लॉग करके एक समान समस्या को हल करने में सक्षम था। यह html लौटा था और मैं आसानी से किसी भी मुद्दे को देख सकता था।

मेरे ajax कॉल के मेरे .done () फ़ंक्शन में मैंने कंसोल.लॉग (परिणाम) जोड़ा है ताकि मैं डीबगर कंसोल में html देख सकूं।

function GetReversals() {
    $("#getReversalsLoadingButton").removeClass("d-none");
    $("#getReversalsButton").addClass("d-none");

    $.ajax({
        url: '/Home/LookupReversals',
        data: $("#LookupReversals").serialize(),
        type: 'Post',
        cache: false
    }).done(function (result) {
        $('#reversalResults').html(result);
        console.log(result);
    }).fail(function (jqXHR, textStatus, errorThrown) {
        //alert("There was a problem getting results.  Please try again. " + jqXHR.responseText + " | " + jqXHR.statusText);
        $("#reversalResults").html("<div class='text-danger'>" + jqXHR.responseText + "</div>");
    }).always(function () {
        $("#getReversalsLoadingButton").addClass("d-none");
        $("#getReversalsButton").removeClass("d-none");
    });
}


@erbarke, क्या आप अधिक विवरण (कोड, विस्तृत कार्रवाई प्रवाह) में अपने उत्तर के बारे में अधिक विस्तार से बता सकते हैं?
आर्टेम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.