2016-07-12 11 views
5

नेट कोर डॉक्स में एक पृष्ठ का शीर्षक "बिल्डिंग मोबाइल विशिष्ट दृश्य" है, लेकिन निर्माणाधीन है: https://docs.asp.net/en/latest/mvc/views/mobile.htmlमोबाइल विशिष्ट दृश्य/डिवाइस का पता लगाने

किसी को भी मोबाइल विचारों के निर्माण या सफलतापूर्वक डिवाइस का पता लगाने कर रही पर कुछ जानकारी है?

+6

वर्ष ASP.NET MVC फ्रेमवर्क में जहां आप "MyView.cshtml" और "MyView.iOS.cshtml" या इसी तरह की तरह देखा गया नाम है और उन्हें मिल सकता है appriately अपने उपयोगकर्ता के आधार पर प्रस्तुत में निर्मित का पता लगाने के लिए इस्तेमाल किया जा करने के लिए एजेंटों। लेकिन आजकल यह अभ्यास बहुत निराश है। एक उत्तरदायी डिजाइन बनाना बेहतर है जो सभी उपकरणों पर काम करता है। उदाहरण के लिए "उत्तरदायी डिजाइन बूटस्ट्रैप" की तलाश करें। बूटस्ट्रैप मूल रूप से एक उत्तरदायी डिजाइन – Tseng

+0

का एहसास करने के लिए ट्विटर द्वारा विकसित किया गया है, शायद @Tseng ठीक है, लेकिन केवल FYI (जैसा कि मैं उत्तरदायी डिज़ाइन के बारे में नहीं हूं: -)) ... यदि आप अभी भी "MyView.cshtml" के दृष्टिकोण का पालन करना चाहते हैं "और" MyView.iOS.cshtml ", तो आप देख सकते हैं कि एमवीसी की 'LanguageViewLocationExpander' कैसे काम करता है क्योंकि यह कुछ समान लगता है ... –

+0

@Tseng यदि आप उत्तर के रूप में टिप्पणी जोड़ना चाहते हैं, तो मैं इसे चिह्नित करूंगा स्वीकार किया गया है कि यह सब क्या कह रहा है। –

उत्तर

1

सेवित विशिष्ट ब्राउज़र की उपयोगकर्ता-एजेंट के आधार पर देखा गया एक पुरानी अवधारणा यह पर्याप्त रूप से कर के रूप में है डिवाइस की क्षमताओं के बारे में ज्यादा कहते हैं। उदाहरण के लिए, आईफोन और आईपैड विभिन्न स्क्रीन आकारों में आते हैं और यहां तक ​​कि मोबाइल ब्राउज़र भी उपयोगकर्ता-एजेंट को बदलने की अनुमति देते हैं।

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

Here उत्तरदायी डिजाइन का एक उदाहरण है। जब आप site पर जाते हैं और अपने ब्राउज़र की चौड़ाई बदलते हैं, तो डिज़ाइन अपडेट 3 से 2 से 1 कॉलम डिज़ाइन के साथ ब्राउज़र या मोबाइल जैसे नेविगेशन (हैम्बर्गर मेनू के साथ) के साथ।

+1

यह ज्यादातर सच है, लेकिन ऐसे मामले हैं जब हमें छोटी स्क्रीन के लिए फोन पर अलग-अलग डोम भेजना चाहिए, बस छिपाने/दिखाने के बजाय। – martonx

+3

कुछ मामलों में सरल उत्तरदायी डिजाइन प्रभावी नहीं है। कुछ मामलों में यह वास्तव में बड़ी वेबसाइट संपत्ति आकार का कारण बनता है जो धीमी प्रारंभिक लोड को जन्म दे सकता है। एक और बात जेएस है - अधिकांश आधुनिक साइटों में जेएस कोड की भारी मात्रा में, लेकिन कुछ सामग्री भारी साइट्स (न्यूज़ एग्रीगेटर्स, ई-कॉमर्स), मोबाइल पर इस प्रकार की सभी सामग्री रखने की आवश्यकता नहीं है, इसलिए हम बस मिट सकते हैं यह सर्वर की तरफ है। –

1

यह सुविधा वास्तव में माइक्रोसॉफ्ट द्वारा लागू नहीं की गई थी। इस प्रश्न के लिए जोड़े को खुली परिचर्चा है:

https://github.com/aspnet/Mvc/issues/4877

https://github.com/aspnet/Razor/issues/751

उन लोगों से एक सामान्य जवाब के रूप में - उत्तरदायी वेब डिजाइन और CSS मीडिया क्वेरी (जो देखने की मेरी बात से के लिए एकदम सही जवाब नहीं है का उपयोग करें टीम जो खुद को सामान्य वेब ढांचे के निर्माण के लिए दावा करती है)। इस सुविधा के लिए एक कार्यान्वयन पुल अनुरोध के रूप में मौजूद नहीं है - https://github.com/aspnet/Mvc/pull/4878

के बाद से इस पुल अनुरोध भूल प्रतीत हो रहा है, मैं निकालने अलग परियोजना में इस कोड को जो https://github.com/laskoviymishka/MvcDeviceDetector

आप इस कार्यान्वयन का उपयोग कर सकते हैं (पर उपलब्ध है जो एमवीसी पोर्टेक्ट में मौजूद होना आसान है) या इसे स्वयं लागू करें। यह बहुत आसान है - इसके लिए आपको केवल IViewLocationExpander को लागू करने और पुनः संयोजित करने की आवश्यकता है।

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