到目前为止,我们的应用程序都使用 IE8。最近得到了IE9浏览器需要升级。这些功能在 IE9 中无法正常工作。当我选择一个单选按钮时,应该启用一个按钮。但它不会发生在 IE9 浏览器中。我还观察到当我单击单选按钮时出现 java 脚本错误“script16386 不支持此类接口”。希望这个 java 脚本错误是导致问题的原因。我的应用程序是一个 JSF 应用程序。该应用程序将从 IFrame 标记内调用。我搜索了所有可能的解决方案,但没有任何进展。将 Richfaces-impl、richfaces-ui、richfaces-api jar 从 3.3.2.SR1 替换为 3.3.3 版本。没用。还按照链接中的以下步骤操作:http: //vsomani.blogspot.com/2011/12/a4j-and-ie-9-issues-with.html- 没有工作:(该项目是一个ANT项目。任何人都可以帮助解决这个问题。谢谢。
4 回答
正如 vsomani 所说,这是一个IE9 错误。只需将此行添加到页面的标题:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
我遇到了同样的问题。对我来说,错误发生在 AJAX.js 的第 1402 行,其中调用了 window.document.importNode。
IE9 对 importNode 的支持似乎不完整,并且对于某些 DOM 文档会引发错误。
我进一步修补了 AJAX.js,并在第 495 行替换了:
if((typeof(document.importNode) == "undefined") && Sarissa._SARISSA_IS_IE){
经过
if((typeof(document.importNode) == "undefined") && Sarissa._SARISSA_IS_IE || Sarissa._SARISSA_IS_IE9 ){
它似乎为我解决了这个问题。此更改也为 IE9 手动定义了 Sarissa importNode。
我没有提供修复程序,而是您可以尝试的解决方法。
使用 IE 8 的回退机制,添加以下元标记。
元 http-equiv="X-UA-Compatible" 内容="IE=8"
我遇到了同样的问题,可以追溯到这个 Javascript 源代码行,它在 Firefox 和 Chrome 上运行得很好:
var xmlDoc = document.implementation.createDocument(null, "File");
根据Mozilla 文档,这个调用有一个可选的第三个参数。但是,IE 开发工具控制台说缺少一个不是可选的参数。
这两个实验试图有意义地填充第三个参数,但没有奏效:
var xmlDoc = document.implementation.createDocument(null, "File", "text/xml");
var xmlDoc = document.implementation.createDocument(null, "File", "");
有关这些尝试修复的 IE 开发工具控制台错误消息是:script16386 no such interface。
解决方法是将第三个参数显式填充为 null:
var xmlDoc = document.implementation.createDocument(null, "File", null);
不过,不知道与错误消息的文本有什么关系。谷歌搜索脚本编号未显示来自 microsoft.com 的信息。
顺便说一句,我的应用程序是控制一流的 60.000 欧元的实验室设备,我真的很摸不着头脑,为什么我们应该坚持使用标准 windows 内置 IE 浏览器,而不是选择性能同样一流的浏览器,如 Chrome 或 Explorer . 我不应该把所有这些时间都花在修复 IE 问题上。