2011-05-24 17 views
7

मैं XMLHttpRequest का उपयोग करके एक लंबा मतदान करने की कोशिश कर रहा हूं। यह सभी सहायक ब्राउज़रों पर ठीक काम करता है, लेकिन आईफोन पर सफारी पर किसी कारण से मुझे प्रत्येक AJAX कॉल के लिए लोडिंग सूचक मिलता है, और लंबे मतदान के लिए थोड़ा परेशान होता है।आईफोन पर सफारी पर लोडिंग सूचक

मैंने पढ़ा है कि आपको दस्तावेज़ लोड होने तक प्रतीक्षा करने की आवश्यकता है, लेकिन यह काम करने के लिए सीम नहीं है। इसे हल करने के लिए कोई अन्य ज्ञात हैक?

+0

+1 - जब आप * लंबे समय तक मतदान नहीं कर रहे हैं तब भी यह परेशान है। –

+0

दुख की बात नहीं - सर्वर के भेजे गए ईवेंट वाले पृष्ठ को देखते समय मेरे पास वही है। – theiOSDude

+0

क्या आपने इसके बजाय वेब सॉकेट का उपयोग करने की कोशिश की, f.ex socket.io की तरह कुछ? – David

उत्तर

1

मुझे एक ही समस्या है, मैंने सरल एक्सएचआरओ, छुपा आईफ्रेम इत्यादि का उपयोग करने की कोशिश की, यह सिर्फ आईफोन पर काम नहीं करता है। ऐसा लगता है कि "संपूर्ण" दस्तावेज़ लोड होने तक डोम को अपडेट नहीं किया गया है या कुछ भी नहीं किया गया है, जो कि मेरे उदाहरण में लंबे मतदान की अवधि थी।

एकमात्र चीज जो मैंने कोशिश की है वह JSONP है। शायद आप JSONP आज़मा सकते हैं।

कृपया हमें बताएं कि क्या आप JSONP को आजमा सकते हैं और यदि यह काम करता है या कुछ भी काम करता है!

अद्यतन: मुझे नहीं पता कि यह एक उत्तर के रूप में क्यों चिह्नित किया जा रहा है, मुझे नहीं लगता कि यह है, इसलिए कृपया मुझे जवाब देने के बजाय इसे टिप्पणी कैसे करें।

+0

यह प्रश्न पर आपका उत्तर है :) लेकिन कोई समस्या नहीं है, मैं इसे एएसएपी कोशिश करूंगा और आपको यहां एक फीडबैक दूंगा, इसलिए आपके इनपुट के लिए धन्यवाद :) –

+1

मैंने JSONP की कोशिश की है लेकिन ऐसा लगता है कि मेरे लिए काम नहीं करना है - I इसे किसी स्रोत को लोड करने के लिए भी नहीं बनाया:/ –

+2

@ फ़ोरियन "मैंने इसे स्रोत लोड करने के लिए भी नहीं बनाया", तो आप सर्वर से लौटे जेएस को चलाने में सक्षम नहीं थे? क्या आप अपने कोड का कुछ सरलीकृत संस्करण पोस्ट कर सकते हैं? मुझे पता है कि लंबे समय से मतदान करना विशेष रूप से सफारी पर काम करने के लिए एक बड़ा दर्द है .. मैं वास्तव में जानना चाहता हूं कि ईथरपैड और/या Google चैट कैसे काम करती है..मुझे वर्तमान में iPhones पर संदेह है कि वे अभी भी अल्प-मतदान आवधिक AJAX कॉल का उपयोग करते हैं .. मुझे बताओ भाई .. –

1

मुझे भी वही समस्या है।

सभी ब्राउज़रों पर काम करने के लिए लंबे मतदान (या वास्तव में कोई मतदान) प्राप्त करना पैंट में एक लात है। और विशेष रूप से सफारी। अच्छाई।

socket.io एक समाधान है।

+0

मैं इसका उपयोग नहीं कर सकता क्योंकि मुझे क्लाइंटसाइड पर विकसित करने की इजाजत है, इसलिए मैं केवल जावास्क्रिप्ट, PHP और HTML- संरचनाएं बना सकता हूं। –

+0

इस मामले में आपको शायद XMLHttpRequest के बजाय काम करने के लिए jQuery के $ .ajax() फ़ंक्शन का उपयोग करने पर विचार करना चाहिए। मेरा मानना ​​है कि इसमें कई ब्राउज़रों के लिए बेहतर संगतता है। आप $ .ajax() के साथ सफारी में एक साधारण परीक्षण चलाते हैं और फिर इसे बंद कर देते हैं। – khaverim

+0

वैसे मैं वर्तमान में $ .ajax() ... ^।^ –

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