2016-07-25 62 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 –

相关问题