2009-08-08 20 views
5

के साथ हमें एक AJAX अनुरोध मिला है जो लगभग लेता है। 30 सेकंड और फिर उपयोगकर्ता को एक अलग पृष्ठ पर भेजता है। उस समय के दौरान, हम निश्चित रूप से एक अजैक्सी स्पिनर संकेतक दिखाते हैं, लेकिन ब्राउज़र भी "प्रकट" हो सकता है क्योंकि ब्राउज़र क्लाइंट वास्तव में काम नहीं कर रहा है या अपना स्वयं का लोडिंग संदेश नहीं दिखा रहा है।ब्राउज़र "व्यस्त राज्य" अजाक्स

क्या जेएस कमांड के साथ व्यस्त दिखने के लिए सभी प्रमुख ब्राउज़रों को बताने का कोई आसान तरीका है?

धन्यवाद, चाड

उत्तर

2

क्या आपको इस स्थिति में AJAX का उपयोग करने की आवश्यकता है? क्या आप इसके बजाय किसी दूसरे पृष्ठ पर पोस्ट/डाल सकते हैं जिसका पूरा उद्देश्य अनुरोध को संसाधित करना है और एक बार गंतव्य पृष्ठ पर रीडायरेक्ट करना समाप्त हो गया है?

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

+0

कूल - हाँ यह मूल संकेतक प्राप्त करने का सबसे अच्छा तरीका हो सकता है - असल में इसे एक पोस्ट के माध्यम से काम करते हैं। धन्यवाद मैं कुछ चीजें बदल दूंगा। – Chad

0

jQuery?

$('html').ajaxStart(function() { $('#busyindicator').show(); }); 
$('html').ajaxStop(function() { $('#busyindicator').hide(); }); 

लेकिन शायद मैं आपके प्रश्न को समझ नहीं रहा हूं। 'व्यस्त दिखने' का क्या अर्थ है? क्या आपका मतलब ब्राउज़र की प्रगति पट्टी या मूल व्यस्त संकेतक सक्रिय है? ऐसा नहीं लगता कि आप ऐसा कर सकते हैं ...

+1

यह मुझे लगता है जैसे वह पहले से ही कुछ ऐसा कर रहा है और अधिक चाहता है, उदाहरण के लिए जैसे आपने ब्राउजर के देशी व्यस्त संकेतक को सेट करने का वर्णन किया है। – Josh

+0

धन्यवाद स्कॉट! स्पष्ट नहीं होने के लिए खेद है। अजाक्स का उपयोग कर यूप और पोस्ट समाधान का प्रयास करेंगे। – Chad

2

आप body की संपत्ति 'प्रतीक्षा' पर सेट कर सकते हैं।

$(document.body).setStyle({cursor: 'wait'}); 

मैं मानना ​​है इस है jQuery कोड, कोई मुझे सही करें यदि मैं गलत के रूप में मैं एक jQuery विशेषज्ञ नहीं हूँ हूँ: प्रोटोटाइप के साथ इस तरह होगा

$("body").css("cursor", "wait"); 

हो जाएगा ताकि पूरे पृष्ठ को विंडोज़ पर एक घंटे का चश्मा माउस कर्सर और मैक ओएस पर एक कताई घड़ी कर्सर दिखाएं।

+0

हां यह भी एक अच्छा विचार है .... असली मूल संकेतक प्राप्त करने के अनुरोध को वास्तव में पोस्ट करने का एक त्वरित विकल्प होगा। धन्यवाद जोश। – Chad

+0

यह अच्छा है लेकिन पर्याप्त नहीं है। क्रोम टैब आइकन इंगित नहीं करता है कि ऐप व्यस्त है। – sureshvv

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