दिलचस्प पोस्ट
मैं जावा में एक लिंक्ड सूची डेटा संरचना कैसे बनाऊं? ऑक्सीजन की शुरुआत क्यों नहीं की जाएगी (पहली बार)? नियमित अभिव्यक्ति के अंदर एक चर का उपयोग कैसे करें? एंड्रॉइड देखें.ग्रेडिंग कैश शून्य, केवल अशक्त का रिटर्न देता है मैं RelativeSource के साथ WPF बाइंडिंग का उपयोग कैसे करूं? एंड्रॉइड में मैं एक बिंदीदार / धराशायी रेखा कैसे बना सकता हूं? पायथन अनुरोध अनुरोध। Exceptions.SSLError: _ssl.c: 504: प्रोटोकॉल का उल्लंघन हुआ है EOF जावास्क्रिप्ट का उपयोग करते हुए बाइनरी फ़ाइल सामग्री को पुनः प्राप्त करना, बेस 64 इसे एनकोड करें और पायथन का उपयोग करके इसे रिवर्स-डीकोड करें आवेदन सही तरीके से शुरू करने में असमर्थ था (0xc000007b) Ggplot2 में रंग भरने के लिए बनावट कैसे जोड़ें? एक तत्व की आईडी के रूप में मेरे पास संख्यात्मक मान क्यों नहीं हो सकता? मैं दो छवियों के बीच अंतर कैसे तय करूं? XML से C # वर्ग उत्पन्न करें सी + + प्रदर्शन बनाम जावा / सी # हाशटेबल पर डिक्शनरी क्यों पसंद है?

आईओएस / एंड्रॉइड ऑपरेटिंग सिस्टम का पता लगा रहा है

मैंने कुछ शोध किया है, और यह सवाल सामने आया है, लेकिन जिस तरह से मेरा इरादा है मैं एक ग्राहक के लिए एक पृष्ठ का निर्माण कर रहा हूं जो एक क्यूआर कोड लैंडिंग है, जो एक आवेदन डाउनलोड करने का स्थान है। इसलिए उन्हें पृष्ठ पर 2 क्यूआर कोड मुद्रित करने की ज़रूरत नहीं है, मैं वर्तमान ऑपरेटिंग सिस्टम (ऐप्पल / एंड्रॉइड / अन्य [समर्थित नहीं]) का पता लगाने और उस वैल्यू के आधार पर अपने तत्वों को संशोधित करना चाहता हूं।

मैंने स्क्रिप्ट "detectmobilebrowsers" को देखा है और यह सिर्फ यह बता रहा है कि उपयोगकर्ता मोबाइल है या नहीं, जबकि मैं यह जानना चाहता हूं कि उपयोगकर्ता कौन से ऑपरेटिंग सिस्टम चला रहा है और श्रेष्ठ एप्लिकेशन संस्करण का सुझाव दे सकता है

मुझे इस प्रश्न के समान मिले अन्य उत्तर पुरानी या अविश्वसनीय लग रहे थे (एंड्रॉइड टेबलेट ब्राउज़र के लिए कोई पता नहीं है), इसलिए मैं कुछ नया खोज रहा हूं। इसे कैसे प्राप्त किया जा सकता है? (अधिमानतः jQuery का इस्तेमाल करना – जावास्क्रिप्ट – उस क्रम में PHP)।

वेब के समाधान से एकत्रित समाधान "आईओएस / एंड्रॉइड ऑपरेटिंग सिस्टम का पता लगा रहा है"

आप उपयोगकर्ता एजेंट स्ट्रिंग का परीक्षण कर सकते हैं:

 /** * Determine the mobile operating system. * This function returns one of 'iOS', 'Android', 'Windows Phone', or 'unknown'. * * @returns {String} */ function getMobileOperatingSystem() { var userAgent = navigator.userAgent || navigator.vendor || window.opera; // Windows Phone must come first because its UA also contains "Android" if (/windows phone/i.test(userAgent)) { return "Windows Phone"; } if (/android/i.test(userAgent)) { return "Android"; } // iOS detection from: http://stackoverflow.com/a/9039885/177710 if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) { return "iOS"; } return "unknown"; } 

समाधान 1: उपयोगकर्ता एजेंट सूँघना

एंड्रॉइड और आईफ़ोन के लिए:

 if( /Android|webOS|iPhone|iPad|iPod|Opera Mini/i.test(navigator.userAgent) ) { // run your code here } 

यदि आप ब्लैकबेरी और विंडोज फोन सहित सभी मोबाइल उपकरणों का पता लगाना चाहते हैं तो आप इस व्यापक संस्करण का उपयोग कर सकते हैं:

 var deviceIsMobile = false; //At the beginning we set this flag as false. If we can detect the device is a mobile device in the next line, then we set it as true. if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[aw])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) { deviceIsMobile = true; } if(deviceIsMobile){ // run your code here } 

विपक्ष : उपयोगकर्ता एजेंट स्ट्रिंग बदल रहे हैं और अद्यतन हो रहा है क्योंकि नए फोन और ब्रांड दिन-प्रतिदिन आ रहे हैं। तो आपको इस सूची को अपडेट करने की आवश्यकता है यदि आप सभी मोबाइल उपकरणों का समर्थन करना चाहते हैं।

समाधान 2: मोबाइल का पता लगाने जेएस लाइब्रेरी

आप ऐसा करने के लिए मोबाइल का पता लगाने के लिए जेएस लाइब्रेरी का उपयोग कर सकते हैं।

विपक्षः ये जावास्क्रिप्ट-आधारित डिवाइस पता लगाने की सुविधा केवल नई पीढ़ी के स्मार्टफोन जैसे कि आईफोन, एंड्रॉइड और पाम वेबओएस डिवाइस के लिए काम करती है। ये डिवाइस पता लगाने की सुविधाओं पुराने स्मार्टफ़ोन के लिए काम नहीं कर सकती हैं, जिनमें पुराने ब्लैकबेरी, पामओएस और विंडोज़ मोबाइल डिवाइस सहित जावास्क्रिप्ट के लिए खराब समर्थन था।

यह समस्या पहले से ही यहां हल हो गई है: jQuery में एक मोबाइल डिवाइस का पता लगाने का सबसे अच्छा तरीका क्या है? ।

स्वीकार किए जाते हैं उत्तर पर, वे मूल रूप से जांचते हैं कि क्या यह एक आईफोन, आइपॉड, एंड्रॉइड डिवाइस है या जो भी सच वापस करने के लिए है। बस ऐसे लोगों को रखें जिन्हें आप उदाहरण के लिए चाहते हैं if( /Android/i.test(navigator.userAgent) ) { // some code.. } केवल एंड्रॉइड उपयोगकर्ता-एजेंटों के लिए सच्चाई वापस करेगा

हालांकि, उपयोगकर्ता-एजेंट वास्तव में विश्वसनीय नहीं हैं क्योंकि उनका बदला जा सकता है सबसे अच्छी बात अब भी सभी मोबाइल प्लेटफार्मों के लिए कुछ सार्वभौमिक विकसित करना है।

एक नेविगेटर.प्लामैट का उपयोग ऑपरेटिंग सिस्टम प्राप्त करने के लिए कर सकते हैं जिस पर ब्राउजर स्थापित है।

 function getPlatform(){ var platform=["Win32","Android","iOS"]; for(var i=0;i<platform.length;i++){ if(navigator.platform.indexOf(platform[i])>-1){ return platform[i]; } } } getPlatform(); 

यहां jQuery के लिए कोई ज़रूरत नहीं है इसके अलावा, navigator.platform

मैंने एक ही समस्या में भाग लिया है और विभिन्न मोबाइल प्लेटफॉर्म के लिए विभिन्न उपयोगकर्ता एजेंट स्ट्रिंग पर एक शोध किया है।

मैंने यह मोबाइल-मोबाइल घटक लिखा है जो पता लगा सकता है कि आप आईओएस या एंड्रॉइड डिवाइस पर चल रहे हैं, और अन्य प्लेटफार्म भी हैं, और विभिन्न किनारे वाले मामलों को ध्यान में रखते हैं। यह केवल आम तौर पर आपको यह बता सकता है कि आप किसी भी मोबाइल डिवाइस पर चल रहे हैं या नहीं।

इसे आयात करने के लिए स्वतंत्र महसूस करें और इन उदाहरणों में दिखाए अनुसार उपयोग करें:

 isMobile.Android() => true/false isMobile.iOS() => true/false isMobile.Windows() => true/false isMobile.BlackBerry() => true/false isMobile.any() => true/false 

कॉर्डोवा-डिवाइस-प्लगइन का उपयोग करके, आप पता लगा सकते हैं

 device.platform 

एंड्रॉइड के लिए "एंड्रॉइड" और विंडोज़ के लिए "विंडोज़" होगा। डिवाइस पर काम करता है, और ब्राउज़र पर अनुकरण करते समय। यहां एक टोस्ट है जो डिवाइस मूल्यों को प्रदर्शित करेगा:

  window.plugins.toast.showLongTop( 'Cordova: ' + device.cordova + '\n' + 'Model: ' + device.model + '\n' + 'Platform: ' + device.platform + '\n' + 'UUID: ' + '\n' + device.uuid + '\n' + 'Version: ' + device.version + '\n' + 'Manufacturer ' + device.manufacturer + '\n' + 'isVirtual ' + device.isVirtual + '\n' + 'Serial ' + device.serial);