2010-02-05 2 views
16

का उपयोग कर किसी पृष्ठ को लोड करने से आईफ्रेम को रोकना क्या पृष्ठ लोड करने के बीच में iframe को रोकने के जावास्क्रिप्ट में कोई तरीका है? मुझे ऐसा करने की आवश्यकता है कि मेरे पास एक वेब सर्वर (एक धूमकेतु शैली तंत्र के माध्यम से) से डेटा स्ट्रीमिंग डेटा है, और मुझे इच्छा पर कनेक्शन को अलग करने में सक्षम होना चाहिए।जावास्क्रिप्ट

कोई भी विचार आपका स्वागत है।

+1

इसे उत्तर के रूप में रखने के लिए पर्याप्त आत्मविश्वास नहीं है, लेकिन क्या आप सिर्फ आईफ़्रेम को किसी अन्य यूआरएल पर निर्देशित नहीं कर सकते? कुछ 'document.getElementById ("myiframe") की तरह कुछ। Src = "http://www.example.com/not-long-polling.html"; ' –

+1

यह मेरा पहला विचार था (+1), लेकिन मुझे इसकी आवश्यकता है संरक्षित करने के लिए फ्रेम की सामग्री। – Konrad

उत्तर

26

फ़ायर्फ़ॉक्स/सफारी/क्रोम के लिए आप) window.stop उपयोग कर सकते हैं (:

window.frames[0].stop() 

IE के लिए, आप document.execCommand ('बंद करो') के साथ एक ही बात कर सकते हैं:

window.frames[0].document.execCommand('Stop') 

एक क्रॉस-ब्राउज़र समाधान के लिए आप इस्तेमाल कर सकते हैं:

if (navigator.appName == 'Microsoft Internet Explorer') { 
    window.frames[0].document.execCommand('Stop'); 
} else { 
    window.frames[0].stop(); 
} 
+12

'navigator.appName' के बजाय' typeof (window.frames [0] .stop) 'की जांच करना शायद बेहतर है। भविष्य आईई संस्करण इसका समर्थन कर सकता है। – unclenorton

+0

@unclenorton मैं वास्तव में जो कहने की कोशिश कर रहा हूं उसे प्राप्त नहीं करता हूं। आप हालत लिख सकते हैं? –

+6

@ मॉर्सेला, मैं यह कहने की कोशिश कर रहा हूं कि ब्राउज़र के बजाए सुविधा की जांच करना बेहतर है। स्थिति '(टाइपफ़ोफ़ (विंडो.फ्रेम [0] .stop ===' अपरिभाषित ') की तरह दिखाई देगी। – unclenorton

13

पूरे कोड इस तरह होना चाहिए, (unclenorton की लाइन एक ब्रा याद आ रही थी cket)

if (typeof (window.frames[0].stop) === 'undefined'){ 
    //Internet Explorer code 
    setTimeout(function() {window.frames[0].document.execCommand('Stop');},1000); 
}else{ 
    //Other browsers 
    setTimeout(function() {window.frames[0].stop();},1000); 
} 
+1

क्यों है 'सेटटाइमआउट' का इस्तेमाल किया जाता है? – Nishi

0

IE में समर्थन नहीं

<script> 
function stopit() { 
window.stop(); 

}; 
</script> 


<a href="#" onclick="stopit()" class="Stop" title="Stop"></a> 
+0

कृपया स्वीकृत उत्तर पर एक नज़र डालें, मुझे लगता है कि यह आपके द्वारा पोस्ट किए गए कार्यों के बराबर है – Marged

0

बहुत आसान:

1) आइफ्रेम जाओ या img आप डॉन ' टी लोड करना चाहते हैं:

let myIframe = document.getElementById('my-iframe') 

2) तो फिर तुम सिर्फ about.blank को src विशेषता की जगह ले सकता:

myIframe.src = 'about:blank' 

सब है कि।


यदि आप सुविधा में एक समय में iframe या छवि को लोड करने के लिए जब किसी घटना तब होता बस dataset में src चर की दुकान चाहता था:

myIframe.dataset.srcBackup = myIframe.src 
// then replace by about blank 
myIframe.src = 'about:blank' 

अब जब आसानी से की जरूरत है आप इसका इस्तेमाल कर सकते हैं:

myIframe.src = myIframe.dataset.srcBackup 
संबंधित मुद्दे