दिलचस्प पोस्ट
कोर डंप – लेकिन कोर फाइल वर्तमान निर्देशिका में नहीं है? MATLAB: क्या स्थानीय निर्माणों (कोशिकाओं, स्ट्रैक्ट्स, आदि) पर अधिभार अधिभार करना संभव है? दशमलव विभाजक के रूप में अल्पविराम के साथ पार्स करने के लिए सबसे अच्छा तरीका? Object.create () और नए SomeFunction () के बीच अंतर को समझना सर्वर 2008 पर विंडोज सर्विस के जरिए ऑटोमेटिंग ऑफिस पायथन नियमित अभिव्यक्ति – एक वाइल्डकार्ड अभिव्यक्ति से कई समूहों को कैसे कैप्चर करना है? वेबआरटीसी फ़ायरफ़ॉक्स बाधाएं सिंक्रनाइज़ ब्लॉक में स्थिर बनाम गैर-स्थिर ताला ऑब्जेक्ट सूची से किसी तत्व को निकालने का प्रयास करते समय मुझे एक असमर्थितऑपरेशन अपवाद क्यों मिलता है? Android में कियोस्क मोड Segue पर ViewDidLoad प्रदर्शन करें फेसबुक आईफोन ऐप द्वारा समर्थित सभी कस्टम यूआरएल योजनाएं क्या हैं? Android में WEP / EAP वाईफ़ाई कॉन्फ़िगरेशन प्रोग्राम कैसे तैयार और पढ़े? MVVM में ViewModel या मॉडल को INotifyPropertyChanged को लागू करना चाहिए? डेटमैटम डाटाटिप के लिए डिफ़ॉल्ट मान के रूप में अब सेट करें ()?

यूआरएल iframe में प्रदर्शन से पहले मौजूद है कि क्या पता लगाने के लिए जावास्क्रिप्ट का उपयोग कर

मैं एक गतिशील यूआरएल को iframe src पर पास करने के लिए जावास्क्रिप्ट का उपयोग कर रहा हूँ लेकिन कभी-कभी यूआरएल मौजूद नहीं है, मैं पहले से मौजूद यूआरएल का पता कैसे लगा सकता हूं, ताकि मैं उस आइफ्रेम को छिपा सकूं जो 404 त्रुटि के साथ।

वेब के समाधान से एकत्रित समाधान "यूआरएल iframe में प्रदर्शन से पहले मौजूद है कि क्या पता लगाने के लिए जावास्क्रिप्ट का उपयोग कर"

मेरी कम प्रतिष्ठा के कारण मैं डेरेक 朕 會 功夫 के उत्तर पर टिप्पणी नहीं कर सका। मैंने उस कोड की कोशिश की है क्योंकि यह है और यह अच्छी तरह से काम नहीं कर रहा है डेरेक 朕 會 功夫 के कोड पर तीन मुद्दे हैं

  1. सबसे पहले यह है कि एन्सिंक को भेजने का समय और उसकी संपत्ति का दर्जा बदलने के लिए अगली अभिव्यक्ति निष्पादित करने की तुलना में धीमी है – अगर (request.status === "404")। तो अंततः, इंटरनेट बैंड के कारण request.status, स्थिति 0 (शून्य) पर बने रहेंगे, और यह नीचे दिए गए कोड को प्राप्त नहीं करेगा यदि यह आसान करने के लिए: एजेक्स अनुरोध को खोलने के तरीके पर 'गलत' को 'गलत' बदलें। यह आपके कोड (तुल्यकालिक कॉल के कारण) पर एक संक्षिप्त (या नहीं तो) ब्लॉक का कारण होगा, लेकिन अगर परीक्षा पर पहुंचने से पहले अनुरोध की स्थिति बदल जाएगी तो

  2. दूसरा यह है कि स्थिति एक पूर्णांक है '===' जावास्क्रिप्ट तुलना ऑपरेटर का उपयोग करके आप तुलना करने की कोशिश कर रहे हैं यदि बायां ओर ऑब्जेक्ट एक दाईं ओर एक के समान है इस काम को बनाने के लिए दो तरीके हैं:

    • उद्धरण चिह्नों को चारों ओर से निकालें, जो इसे पूर्णांक बनाते हैं;
    • जावास्क्रिप्ट के ऑपरेटर '==' का उपयोग करें ताकि आप दो ऑब्जेक्ट समान होने पर परीक्षण कर सकें।
  3. तीसरा यह है कि ऑब्जेक्ट XMLHttpRequest केवल नए ब्राउज़रों (फ़ायरफ़ॉक्स, क्रोम और आईई 7 +) पर काम करता है। यदि आप चाहते हैं कि स्निपेट को उन सभी ब्राउज़रों पर काम करना है जिन्हें आप W3Schools के सुझाव देते हैं: w3schools ajax

जो कोड वास्तव में मेरे लिए काम करता था वह था:

var request; if(window.XMLHttpRequest) request = new XMLHttpRequest(); else request = new ActiveXObject("Microsoft.XMLHTTP"); request.open('GET', 'http://www.mozilla.org', false); request.send(); // there will be a 'pause' here until the response to come. // the object request will be actually modified if (request.status === 404) { alert("The page you are trying to reach is not available."); } 

एक XHR का उपयोग करें और देखें कि क्या यह आपको 404 का जवाब देता है या नहीं।

 var request = new XMLHttpRequest(); request.open('GET', 'http://www.mozilla.org', true); request.onreadystatechange = function(){ if (request.readyState === 4){ if (request.status === 404) { alert("Oh no, it does not exist!"); } } }; request.send(); 

लेकिन ध्यान दें कि यह केवल एक ही मूल पर काम करेगा। एक अन्य मेजबान के लिए, आपको ऐसा करने के लिए एक सर्वर-साइड भाषा का उपयोग करना होगा, जिसे आपको अपने द्वारा इसे निकालना होगा।

आप पेज पर एक सामान्य जीईटी कर सकते हैं और कोशिश कर सकते हैं, अगर आपको 200 मिल जाए तो इसका मतलब है कि पृष्ठ मौजूद है। यह कोशिश (jQuery का उपयोग करके), फ़ंक्शन सफल कॉलबैक फ़ंक्शन पर एक सफल पृष्ठ लोड है। ध्यान दें यह XSS को रोकने के लिए केवल आपके डोमेन के भीतर साइटों पर काम करेगा अन्य डोमेन को सर्वर साइड पर संभालना होगा

 $.get( yourURL, function(data, textStatus, jqXHR) { //load the iframe here... } ); 

आप यूआरएल को AJAX के माध्यम से जांच सकते हैं और स्टेटस कोड पढ़ सकते हैं – यह है कि यूआरएल एक ही डोमेन में है।

यदि यह एक दूरस्थ डोमेन है, तो आपके पास अपने स्वयं के डोमेन पर एक सर्वर स्क्रिप्ट पर एक दूरस्थ URL की जांच हो सकती है।

मैंने पाया यह मेरे परिदृश्य में काम किया।

JqXHR.success (), jqXHR.error (), और jqXHR.complete () jQuery 1.5 में शुरू की गई कॉलबैक विधियों को jQuery 1.8 के रूप में पदावनत किया गया है। अपने अंतिम निष्कासन के लिए अपना कोड तैयार करने के लिए, jqXHR.done (), jqXHR.fail (), और jqXHR.always () का उपयोग करें।

 $.get("urlToCheck.com").done(function () { alert("success"); }).fail(function () { alert("failed."); });