[c#] एएसपीनेट में मोबाइल डिवाइस डिटेक्शन



Answers

इस विषय पर स्कॉट हंसेलमैन का एक महान ब्लॉग पोस्ट है । वह 51 डीग्री नामक तीसरे पक्ष के समाधान को संदर्भित करता है।

Question

निम्नलिखित एक मोबाइल डिवाइस पहचान कोड है जिसमें तीन अलग-अलग स्थितियां शामिल हैं

if (Request.Browser.IsMobileDevice)
{
   //Do Something
}
else if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).IsMobileDevice)
{
  //Do Something
}
else if (IsMobileDevice(mobileDevices))
{
  //Do Something
}

public bool IsMobileDevice()
{
     private static string[] mobileDevices = new string[] {"iphone","ppc"
                                                   "windows ce","blackberry",
                                                   "opera mini","mobile","palm"
                                                   "portable","opera mobi" };

         string userAgent = Request.UserAgent.ToString().ToLower();
         return mobileDevices.Any(x => userAgent.Contains(x));
 }

मुझे तीन स्थितियों को लिखने के लिए मजबूर होना पड़ा क्योंकि वे कुछ उपकरणों के लिए असफल रहे थे, क्या कोई बेहतर दृष्टिकोण सुझा सकता है?




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

51Degrees.mobi पैकेज एक और अधिक विश्वसनीय विकल्प होगा।




यह कोड मेरे मामले में काम करता है।

public void IsMobileBrowser()
{
    String labelText = "";
    System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
    if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).IsMobileDevice)
    {
        labelText = "Browser is a mobile device.";
    }
    else
    {
        labelText = "Browser is not a mobile device.";
    }
    ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('"+ labelText + "');", true);
}

संदर्भ: HttpCapabilitiesBase.IsMobileDevice संपत्ति




Related



Tags

c# c#   asp.net asp.net