2016-07-25 4 views
1

Ich bin auf ein Problem auf einer Website läuft Ich versuche, auf Windows Phone IE11 Mobile zu testen. Grundsätzlich funktioniert dieser Code auf Iphone, Android, Chrome, Firefox und sogar nicht auf dem Windows-Telefon IE11, aber auf IE11 Mobile ist der folgende Code-Alarm "App 'nicht definiert." HierJavascript-Code undefined in IE11 Mobile Browser aber Arbeit in Chrome, Firefox, IE

ist der Rasierer cshtml:

@Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/modernizr") 
    @Scripts.Render("~/bundles/bootstrap") 
    @Scripts.Render("~/bundles/app") 
    <script> 
     $(document).ready(function() { 
      try { 
       var overlayUrl = "@Url.Content("~/Content/Images/front_license_outline.png")"; 
       var handleUrl = "@Url.Action("HandlePicture")"; 
       App.init(overlayUrl, handleUrl); 
      } catch(ex) {alert(ex.message);} 
     }); 
    </script> 

Und hier ist eine gekürzte Version der app.js Datei, die auf allen anderen Browsern definiert die ich getestet habe.

var App = function() { 
    var init = function(overlayurl, hpu) { 
     //My Code 
    } 

    return { init: init }; 
}(); 

Ich habe nicht wirklich viel Ahnung, was los auf gehen könnte und ich würde helfen, herauszufinden, wie wie dies entweder, um das Problem zu arbeiten, für WP EI11 Mobile- oder irgendeiner Weise zu beheben.

JQuery - Version 1.10.2
Modernisierer - Version 2.6.2
Bootstrap - Version 3.3.6

Wenn Sie mehr Informationen über meinen Code oder denke ich kann nicht etwas Wichtiges zu arbeiten aufgenommen haben Bitte lassen Sie es mich wissen, und ich wäre mehr als glücklich, es zu liefern. Vielen Dank im Voraus für Ihre Hilfe.

:: EDIT ::
Ich habe getestet, jede einzelne Zeile in der App.init-Funktion und so viele irrelevante Zeilen, die ich woanders finden konnte und das Problem bestehen.

var App = function() { 
    var init = function() { 
     //This is now literally no code here. 
    } 

    return { init: init }; 
}(); 

und der Rasierer .cshtml Datei:

@Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/modernizr") 
    @Scripts.Render("~/bundles/bootstrap") 
    @Scripts.Render("~/bundles/app") 
    <script> 
     $(document).ready(function() { 
      try { App.init(); } 
      catch(ex) { alert(ex.message); } 
     }); 
    </script> 

alert (ex.Message) noch gebrannt. 'App' ist nicht definiert.

Antwort

1

Ich war vorerst von diesem Problem weggegangen und entschied, dass ich an etwas arbeiten würde, von dem ich dachte, dass es völlig unabhängig davon war; herauszufinden, warum das Bootstrap-Grid-System nicht richtig funktionierte. Während ich tun, dass ich auf einen Artikel gestolpert was darauf hindeutet, dass ich ein Meta-Tag hinzuzufügen benötigt:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

Dieser Meta-Tag im Kopf meiner .cshtml Datei mir das Problem aus Gründen fixiert vollständig unbeknownst . Soweit ich das beurteilen kann, hat dies auch in anderen Browsern keine Nebenwirkungen. Mit diesem Tag wird die Datei app.js in IE11 Mobile korrekt geladen.

Für jetzt behebt es das Problem, aber ich plane genau zu prüfen, was es tut. Ich hoffe, dass dies jedem hilft, der sich mit ähnlichen Problemen beschäftigt.

0

Normalerweise gibt es viele Dinge, die Explorer nicht tun kann. Überprüfen Sie, ob das, was Sie in Ihrem Code tun, in IE möglich ist. Beispiele kommen normalerweise mit einem if/else-Satz, der Code für IE und Code für die anderen Browser angibt. Dies ist ein Beispiel:

if (window.XMLHttpRequest) { // This would be the object you want to use 
    // code for browser with x tool 
    xmlhttp = new XMLHttpRequest(); 
} else { 
    // code for old IE browser without the tool 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    // This would be the alternative in this browser 
} 

Ich bin mir nicht sicher, dass das ist, was Sie suchen, aber ich hoffe, es hilft.

+0

Vielen Dank für Ihren Besuch. An dieser Stelle habe ich jede einzelne Codezeile in der App.init() Funktion auskommentiert, so dass es nur eine leere Funktion ist. Ich habe das gleiche mit den meisten der Callback-Funktion $ (Dokument) .ready() gemacht.Das Javascript sieht genauso aus wie im ursprünglichen Post, aber das cshtml sieht nun so aus: '$ (document) .ready (function() { versuchen { App.init(); } fangen (ex) { Alert (ex.message);} }); ' Das Problem besteht weiterhin. "'App' ist undefined" –

+0

Wie gesagt, ich bin mir nicht sicher, was Sie suchen, aber dieser Link kann Ihnen helfen. Gehe zu nicht unterstützten Funktionen und überprüfe, ob etwas, das du verwendest, nicht für WP verfügbar ist. Sie müssen alle Funktionen kennen, von denen Ihre App abhängt. –

+0

Leider habe ich vergessen den Link anzuhängen! LOL: https://msdn.microsoft.com/en-us/library/dn629259(v=vs.85).aspx –

Verwandte Themen