2012-08-10 16 views
5

मैंने एक स्क्रिप्ट बनाई है जिसमें मैं मोबाइल ब्राउज़र का पता लगा रहा हूं और जब यह सच है तो जेएस फ़ंक्शन getwidth को कॉलर को एक निश्चित यूआरएल पर कॉल और रीडायरेक्ट किया जा रहा है उसके डिवाइस की स्क्रीन चौड़ाई का आधार। मैं screen.width यानी पता लगाने के बुनियादी js विधि का इस्तेमाल किया स्क्रीन की चौड़ाईहाथ चौड़ा/स्मार्ट डिवाइस पर विभिन्न ब्राउज़रों का उपयोग करते समय स्क्रीन चौड़ाई समस्या

पता लगाने के लिए समस्या मैं का सामना करना पड़ रहा अलग स्क्रीन की चौड़ाई है अलग browsers.Like में लौटने जा रहा है मैं एक गोली है कि है (एंड्रॉयड 4.0.3) जिसका वास्तविक स्क्रीन की चौड़ाई 800 px है और जब मैं डिफ़ॉल्ट ब्राउज़र से उस पर मेरी स्क्रिप्ट चलाने तो यह सही स्क्रीन की चौड़ाई 800px रिटर्न लेकिन जब मैं विभिन्न ब्राउज़रों के साथ इसे खोलने तो वे, यूसी ब्राउज़र की तरह अलग अलग चौड़ाई लौट 740 PX (ISSUE 2: also when onload function i tried to return screen width on UC browser then it returns screen width as 0px and after page load when i call the same function again then it returns width=740px) लौटा रहा है जब मैं स्क्रिप्ट चलाने ओपेरा मिनी पर यह चौड़ाई 441 पीएक्स के रूप में देता है।

कृपया मुझे पता है जो हाथ की स्क्रीन की चौड़ाई आयोजित/स्मार्ट डिवाइस का पता लगाने के लिए सबसे कारगर तरीका है चलो। इसलिए मैं स्क्रीन चौड़ाई के आधार पर पूरी तरह से पुनर्निर्देशन कर सकता हूं। परीक्षण करने के लिए

यूआरएल: http://radiations3.aiksite.com/home.html

धन्यवाद,

उत्तर

8

हम्म, यह मेरे लिए लगता है कि आप जावास्क्रिप्ट उपयोग नहीं करना चाहिए, बल्कि सीएसएस का उपयोग करें। क्या आपने media queries देखा है? स्क्रीन की चौड़ाई का पता लगाने के लिए यह सबसे क्रॉस-ब्राउज़र तरीका है और फिर तदनुसार एक अलग शैली प्रदान करता है।

आप शैलियों को बदलने, लेकिन जैसा कि आप कहते हैं कि (यदि आप चाहिए) पुन: निर्देशित नहीं देख रहे हैं, तो मैं निम्नलिखित कोड (Andy Langton की ओर से) सुझाव देंगे:

var w=window,d=document,e=d.documentElement,g=d.getElementsByTagName('body')[0],x=w.innerWidth||e.clientWidth||g.clientWidth,y=w.innerHeight||e.clientHeight||g.clientHeight; 

यह वह जगह है आशुलिपि जो दो चर, x और y, जो क्रमशः चौड़ाई और ऊंचाई रहे हैं पैदा करेगा। शायद यह और अधिक की तरह आप जो खोज रहे हैं, लेकिन मैं पहले मीडिया क्वेरी बाहर की जाँच का सुझाव और सुनिश्चित करें कि आप क्या करने के लिए सीएसएस के साथ नहीं किया जा सकता देख रहे हैं क्या करना चाहते हैं। इस बात की कोई गारंटी नहीं है कि जावास्क्रिप्ट किसी भी ब्राउज़र में सक्षम है।

+1

+1 मीडिया प्रश्नों के लिए! कई मोबाइल डिवाइस जावास्क्रिप्ट का उपयोग नहीं करते हैं (या इसे डिफ़ॉल्ट रूप से बदल दिया गया है)। आज अस्तित्व में उपकरणों की विविधता की संख्या के साथ, अधिकांश डेवलपर्स अब जेएस स्नीफिंग के साथ विशिष्ट प्लेटफार्मों को आजमाने और पूरा करने के लिए खराब अभ्यास मानते हैं। वहां 100 स्क्रीन आकार हो सकते हैं, कौन जानता है? बल्कि शोध "प्रतिक्रियाशील वेब डिज़ाइन" की कोशिश करता है, तो आप कैसे जावास्क्रिप्ट के बिना एक मोबाइल संगत साइट को पूरा करने में रुचि रखते हैं (या कम से कम नहीं जावास्क्रिप्ट पर निर्भर सक्षम जा रहा है)। विचार किसी भी स्क्रीन आकार फिट करने के लिए सीएसएस मीडिया प्रश्नों का उपयोग कर अपने पेज को समायोजित करना है। – BenSwayne

+0

@ सॉफ्ट सॉफ्ट: क्या यह आपके प्रश्न का उत्तर देता है? – cereallarceny

+0

@cereallarceny मैंने मीडिया क्वेरी का उपयोग किया और उन्हें एक ही स्क्रीन आकार भी मिल रहा है जिसे जावास्क्रिप्टिंग द्वारा वापस किया जा रहा है, जो ब्राउज़र आकार पर निर्भर करता है क्योंकि यह वास्तविक स्क्रीन आकार नहीं है। –

1

आप की कोशिश की है कि jQuery और

$(window).width(); 
$(window).height(); 

का उपयोग कर मैं किसी भी मुसीबत नहीं था इन का उपयोग कर लो।

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

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