Announcement

Collapse
No announcement yet.

Problem bei 'HttpContext.SetOverriddenBrowser'

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem bei 'HttpContext.SetOverriddenBrowser'

    Guten Tag,

    ich habe da ein Problem mit der Unterscheidung zwischen den Mobile- und Desktop-Geräten in MVC. Ich habe viel im Netz gesucht. Das Einzige, was halbwegs brauchbar ist, ist "HttpContext.SetOverriddenBrowser(... ? BrowserOverride.Mobile : BrowserOverride.Desktop)". Leider, wie es scheint, funktioniert dies auch nicht ganz einwandfrei. Manchmal klappt es und manchmal halt auch nicht. Ich setze den Wert schon bei dem ersten Seitenaufruf. Wenn man aber ein paar Seiten aufruft, wechselt sich wieder z.B. von der Mobilen in Desktop-Ansicht, obwohl ich den Wert ausdrücklich auf "BrowserOverride.Mobile" gesetzt habe. Hat jemand hier Erfahrungen in dem Bereich?

    Danke im Voraus

  • #2
    Gar nicht erst versuchen auf dem Server den Client zu erraten wäre mein Vorschlag. Mit der mobilen Ansicht starten und danach den Content für die größeren Browser nachladen.

    Comment


    • #3
      Hi,

      vielen Dank. Dein Vorschlag ist korrekt. Aber auch dies setzt eine zuverlässige Erkennung des Gerätes voraus, mit dem ich momentan seit ein paar Tagen beschäftigt bin.

      Gruß

      Comment


      • #4
        Du solltest nicht versuchen anhand des Geräts zu entscheiden. Du solltest entweder danach entscheiden wie breit Dein Screen ist oder nach den Features die der Browser unterstützt. Featuredetection statt Browserdetection. Falls Du das nicht selbst machen magst gibt es eine tolle Library die sich Modernizr nennt. Ich sehe gerade sogar dass es einen konfigurierbaren Build auf der Seite gibt, damit man die Library so schlank wie möglich halten kann.

        http://modernizr.com/

        Wichtig ist dabei dass alle Information die essentiell für den Benutzer ist, im vom Server gerenderten HTML schon vorhanden und möglichst gut durch Markup ausgezeichnet sein sollte. Danach schaust Du wie breit der Browser ist und welchen Content man noch nachladen muss und welche Teile Deiner Seite Du durch Features, die Dir der Browser zur Verfügung stellt, noch komfortabler machen kannst (z.B. YouTube link durch YouTubePlayer ersetzen oder ein Formular per JS userfreundlicher machen).

        Comment


        • #5
          Hi,

          danke für deine Antwort. Modernizr ist bereits ein Teil von MVC 4+. Aber leider ist es damit nicht getan. Meine Vorgaben bei der mobilen Anwendung (z.B. Design, Funktionalitäten und auch installierte Plugins) sind teilweise ganz anders als bei der Desktopanwendung. Ich komme leider nicht drum herum, als zunächst diese zu ermitteln. Was die installierten Plugins angeht, habe ich bereits in diesem Forum um Hilfe gebeten, was allerdings bis jetzt unbeantwortet geblieben ist. Ich habe dies bereits mit Javascript gelöst. Diese soll aber keine dauerhafte Lösung sein.

          Gruß

          Comment


          • #6
            Also wenn die Anwendungen sehr unterschiedlich werden, dann würde ich das vermutlich über eine Subdomain oder über Routing lösen. In den Seiten gibt es dann jeweils einen Link zur anderen Version, damit der Benutzer selbst entscheiden kann welche Version er sehen will. Ein Mindestmaß an "responsiveness" sollten trotzdem beide Anwendungen haben.

            Gerade wenn die Anwendungen so unterschiedlich sind würde ich dem Benutzer keine der beiden Versionen aufzwängen wollen. Gerade bei dem riesigen Vielfalt an Devices die es derzeit gibt. Wer sagt denn das jemand nicht an seinem IPad eine Tastatur und eine Maus dran hat oder der relativ große Windows Computer eigentlich ein Tablet mit Touch ist.

            Comment

            Working...
            X