युगल मुद्दों: आप (और सभी ए-ग्रेड ब्राउज़रों का समर्थन) XMLHttpRequest
(उर्फ ajax) के साथ समय समाप्ति थ्रेसहोल्ड उपयोग कर सकते हैं, लेकिन फिर आप XMLHttpRequest
उपयोग नहीं कर सकते क्योंकि यह एक otherserver.com
पर है Same Origin Policy restriction की वजह से।
लिपि (आदि जैसे किसी भी चर नाम कार्यप्रणाली के नाम,) वैश्विक नाम के किसी भी प्रकार आप इसे की जांच करते रहना setTimeout
कोशिश कर सकते हैं का परिचय हैं:
var TIMELIMIT = 5; // seconds until timeout
var start = new Date;
setTimeout(function() {
// check for something introduced by your external script.
// A variable, namespace or function name here is adequate:
var scriptIncluded = 'otherServerVariable' in window;
if(!scriptIncluded) {
if ((new Date - start)/1000 >= TIMELIMIT) {
// timed out
alert("Please try again")
}
else {
// keep waiting...
setTimeout(arguments.callee, 100)
}
}
}, 100)
समस्या के रूप में मैं देख रहा हूँ यह है आप नहीं कर सकते स्क्रिप्ट के लिए अनुरोध रद्द करें। अगर कोई गलत है तो कृपया मुझे सही करें लेकिन डीओएम से <script>
को हटाकर अभी भी सक्रिय संसाधन के लिए ब्राउज़र का अनुरोध छोड़ देगा। तो हालांकि आप का पता लगा सकते हैं कि स्क्रिप्ट लोड होने के लिए x सेकंड से अधिक समय ले रही है, तो आप अनुरोध को रद्द नहीं कर सकते हैं।
मुझे लगता है कि आप भाग्य से बाहर हो सकते हैं।
... इसके अलावा ... मेरा सर्वर php (या कुछ और .. यह एक याहू स्टोर है) का समर्थन नहीं करता है और यह एक अलग डोमेन पर है कि दूरस्थ सर्वर मैं –
से खींच रहा हूं मुझे नहीं लगता कि वहां है सुर eyou बनाने के अलावा यह करने का एक तरीका है कि विशेष जावास्क्रिप्ट को जितना संभव हो सके पेज पर कम करें, इसलिए शेष पृष्ठ लोड होने पर लोड हो जाता है। –