2016-07-25 148 views
1

我遇到了一個網站,我想測試在Windows Phone手機IE11一個問題。基本上,在Iphone,Android,Chrome,Firefox甚至非Windows Phone IE11上,此代碼工作正常,但在IE11 Mobile上,以下代碼警報「'App'未定義。」Javascript代碼在IE11瀏覽器的手機,但Chrome瀏覽器,Firefox的工作不確定,IE

這裏是剃刀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> 

這裏是所有我已經測試過的其他瀏覽器中定義的app.js文件的刪節版。

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

    return { init: init }; 
}(); 

我真的沒有太多的想法,以什麼可怎麼回事,我想幫助搞清楚如何可以解決這個問題了WP EI11移動或一些方法來解決此問題。

jQuery的 - 版本1.10.2
近代化 - 版本2.6.2
自舉 - 版本3.3.6

如果您需要了解我的代碼的任何詳細信息,或想我可能沒有包括東西的工作重要解決這個問題,請讓我知道,我會很樂意提供它。預先感謝您的幫助。

::編輯::
我已經測試編輯出App.init函數中的每一行,以及許多無關的行,我可以在其他地方找到並且問題仍然存在。

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

    return { init: init }; 
}(); 

和剃刀.cshtml文件:

@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> 

警報(ex.message)仍然被解僱。 'App'未定義。

回答

1

我已經從這個問題走開現在和決定我要的東西我認爲是完全無關的工作;搞清楚爲什麼自舉網格系統不能正常工作。當我這樣做,我讀到一篇文章,表明我需要添加一個meta標記跌跌撞撞:

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

在我的.cshtml文件頭這個元標記修復該問題的原因完全不知情的我。據我所知,這在其他瀏覽器中也沒有任何副作用。使用這個標籤,app.js文件在IE11 Mobile中正確加載。

現在,它解決了這個問題,但我打算看看它做什麼。我希望這可以幫助任何人處理類似的問題。

0

通常有很多事情Explorer無法做到。檢查你的代碼在IE中是否可行。示例通常帶有一個if/else語句,用於指定IE的代碼和其他瀏覽器的代碼。這是一個例子:

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 
} 

我不確定這是你在找什麼,但我希望它有幫助。

+0

感謝您回去我。此時,我已經在App.init()函數中註釋了每行代碼,因此它只是一個空函數。我已經完成了大部分$(document).ready()回調函數。javascript看起來與原始文章中的相同,但是cshtml現在看起來像這樣: '$(document).ready(function(){ try {{0}} { alert(ex.message);} });' 問題依然存在。 「'App'is undefined」 –

+0

正如我之前所說,我不確定你在找什麼,但這個鏈接可能會對你有幫助。轉到不支持的功能並檢查如果您正在使用的內容不適用於WP。你必須意識到你的應用程序依賴的每個功能。 –

+0

對不起,我忘了附加鏈接! LOL:https://msdn.microsoft.com/en-us/library/dn629259(v=vs.85).aspx –

相關問題