我们公司仍然正式使用IE 9.当我开发新的网络应用程序时,我在本地Visual Studio 2015和IE Express与IE 9和Chrome都进行了测试,两者都运行良好。但是,当我将其部署到Windows 2012 IIS 8 Web服务器时,使用IE 9的用户会收到一条错误,即无法找到JQuery的函数。然而,Chrome用户根本没有任何问题。
我应该可以在IE中使用jQuery。为什么它可以在本地运行的IE上运行,但在部署到Web服务器时却不行?如果在正确的文件夹中找不到jQuery脚本的部署,那么我预计Chrome用户也会遇到问题,但他们没有。
有关如何解决IE 9用户问题或从哪里开始更密切关注的想法?
我在我的ASP.NET MVC应用程序中捆绑jQuery,如下所示:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
在DEV TOols中,我认为看起来它已加载:
Key Value
User-Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)
Connection Keep-Alive
Referer http://myserver:83/
Accept-Encoding gzip, deflate
Request GET /bundles/jqueryval?v=xeePbbT2vC4pL1LKONgpwwYRtT6DJgMoJ9YgtVoYbXI1 HTTP/1.1
If-Modified-Since Fri, 08 Jul 2016 14:51:18 GMT
Accept-Language en-US
Host myserver:83
Cookie ASP.NET_SessionId=bavmuwmb0z30tx25bxw2vuxb
Accept */*
我收到一连串的错误消息,包括
Line: 1
Error: Object doesn't support property or method 'addEventListener'
Line: 1
Error: 'jQuery' is undefined
更新
我发现这非常有意思:
如果我使用服务器名称或“友好”DNS URL访问该网站,我会收到上述错误。如果我使用IP地址,该网站将在IE 9中运行。
我原本预计前两种方法,服务器名称和DNS都会解析为IP地址,如果它们都解析为相同的IP地址,那么所有3种方法的工作方式都相同。但他们没有。如果使用IP,jQuery仅适用于IE,但Chrome适用于所有情况。我很难过。