我在使用KineticJS的项目上工作了数周,没问题。就在几分钟前,当我构建和调试我的页面时,它开始抛出错误。
这是错误: /scripts/kinetic-v4.0.3.js第22栏第2258行未处理的异常
0x800a01b6 - Microsoft JScript运行时错误:对象不支持属性或方法'indexOf'
我不知道发生了什么,它发生在任何项目的KineticJS的任何页面上......
我可以在firefox中打开这个页面,然后将文件夹打开,并且可以正常工作。
有什么想法吗?
答案 0 :(得分:3)
答案 1 :(得分:2)
微软最大的Internet Explorer客户群是企业。企业已经投入了无数美元和数小时为旧版本的IE创建内部网应用程序,这些应用程序将在更新/更符合标准的版本下破解。因此,对于在本地Intranet区域中检测到的网站,IE将默认为兼容模式,以使IE9的行为与IE7类似。
默认情况下,Localhost恰好是本地Intranet。这可能是为什么在使用IE9从Visual Studio进行F5调试时,没有一个较新的JavaScript对象和方法可用。
幸运的是,你可以做一些事情。应用程序开发人员最简单的方法是在页眉中包含一个元标记,告诉IE在呈现该页面时忽略兼容模式:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
首选方法可能是让Web服务器在该Web应用程序的每个HTTP响应中都包含此标头。要么配置IIS来执行它,要么在web.config中包含以下内容(对于IIS7 +,我相信):
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-UA-Compatible"/>
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>