2010-08-16 41 views
6

मैंने पढ़ा है कि मोबाइल एजेंट के लिए सही सामग्री भेजने के लिए उपयोगकर्ता एजेंट स्नीफिंग का उपयोग करने के लिए इसकी खराब (सलाह नहीं दी गई है), इसलिए मुझे आश्चर्य है कि ऐसा करने का सबसे अच्छा तरीका क्या है?मैं एक मोबाइल ब्राउज़र का पता कैसे लगा सकता हूं, और उचित सामग्री को प्रत्यक्ष कैसे कर सकता हूं?

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

  1. लिंक करने के लिए पूर्व आकार बदली गई छवियों
  2. उपयोग कम से कम जावास्क्रिप्ट
  3. निकालें: एक मोबाइल ब्राउज़र अपनी साइट की बात आती है, मैं दृश्य का एक अलग सेट का उपयोग करने के, जो आदर्श निम्न विशेषताओं को पास करना चाहते हैं सभी आवश्यक सामग्री

मेरा पहला विचार उपयोगकर्ता एजेंट को छीनना था, और उसके बाद एक अलग सीएसएस फ़ाइल भेजना था, लेकिन ऊपर बताए गए अनुसार मैंने पढ़ा है कि यह करने का यह एक बुरा तरीका है, इसलिए मैं मैं आपको अपने विचारों के लिए पूछ रहा हूँ।

+1

संभावित डुप्लिकेट [एएसपी.नेट में मोबाइल ब्राउज़रों से अनुरोधों की जांच] [http://stackoverflow.com/questions/2653765/detecting-requests-from- मोबाइल-browsers-in-asp-net) – jfar

+0

@jfar, एमवीसी के लिए इसके लिए विशिष्ट आवश्यकताएं हैं। हंसेलमैन पोस्ट देखें। AFAICS, आपके द्वारा लिंक किया गया जवाब उसमें शामिल नहीं है। –

+0

आप यहां कुछ समाधान देख सकते हैं: http://stackoverflow.com/questions/6844020/way-to-do-content-adaptation-to-mobile –

उत्तर

7

उपयोगकर्ता एजेंट वास्तव में आपके पास HTTP GET अनुरोध में है, लेकिन आपको किसी और को सूची बनाए रखने देना चाहिए। हम कस्टम दृश्य इंजन के साथ Microsoft Mobile Device Browser File का उपयोग लगभग this Scott Hanselman post के समान तरीके से करते हैं। आप कैसे लक्षित बना सकते हैं विचारों यहाँ पढ़ पर

http://mdbf.codeplex.com/

पृष्ठभूमि के लिए:

http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx

+0

धन्यवाद, यह वही है जो मैंने सोचा था, अनुमान लगाया कि मैं जिस कारण से गलत था नहीं बताया। मैं पूरी तरह से सहमत हूं कि एक संगतता सूची बनाए रखना एक पिटा है! – Nate

2

एक मोबाइल ब्राउज़र का पता लगाने के लिए सबसे अच्छा तरीका इस अद्भुत codeplex परियोजना का उपयोग करने के लिए है सबसे सरल दृष्टिकोण एक अलग डोमेन "m.yourdomain.com" या "yourdomain.mobi" (Source) का उपयोग किया जा सकता है, इस तरह आप यह मान सकते हैं कि उपयोगकर्ता मोबाइल डिवाइस पर है।

1

+0

इस मामले में, क्या मैं ब्राउज़र एजेंट और कुकी को एक बार रीडायरेक्ट करने के लिए उपयोग करता हूं, और यदि वे वापस आते हैं, तो मान लें कि मैंने अपने उपयोगकर्ता एजेंट को गलत लेबल किया है और उन्हें पूरी साइट पर जारी रखने दिया है? – Nate

+0

यह दृष्टिकोण दर्दनाक हो सकता है। आपको यह मानना ​​चाहिए कि m.website.com पर जाने वाले किसी भी व्यक्ति को मोबाइल साइट चाहिए लेकिन हमेशा उन्हें फूटर में पूरी साइट के लिए एक लिंक दें। –

+0

@ निसान - यह एक अच्छा विचार है, हालांकि जितना अधिक मैं इसके बारे में सोचता हूं उतना ही मुझे विश्वास है कि मेरा जवाब जरूरी नहीं है कि यह एक अच्छा विचार है। – ChrisF

0

जबकि मेरा मानना ​​है कि पर ब्राउज़र के लिए सूंघ करने की क्षमता निर्धारित करने के लिए और आप JQuery.support के रूप में सूँघने की क्षमता है, इस तरह का उपयोग करना चाहिए यह सिकोड़ी है। जब वास्तव में काफी अलग लेआउट प्रस्तुत करने की बात आती है तो मुझे लगता है कि आपको ब्राउज़र आईडी के लिए स्नीफ करना होगा और तदनुसार कार्य करना होगा।

+0

यह काम करता है * पृष्ठ लोड होने के बाद। * सर्वर पर 'GET' अनुरोध का जवाब देते समय, हालांकि, ऐसा करने का कोई तरीका नहीं है। –

+0

@ क्रैग - बेशक, मेरे क्लाइंट-साइड से मेरा सिर सोच रहा था लेकिन समस्या सर्वर-साइड से प्रसंस्करण कर रही है जहां आप स्पष्ट रूप से केवल जीईटी के दौरान प्रदान की गई ब्राउज़र आईडी रखते हैं। – Lazarus

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