我们有一个巨大的 HMI 和 SCADA 网络应用程序,它提供几乎任何工厂车间的数据收集设施,并在其上提供可视化和分析设施。
该产品基于三种技术。前端和服务器端使用 JavaScript、Java,数据库引擎使用 C++,通过 JNI 连接。
在前端,我们已经实际使用 HTML、CSS 和 JavaScript 来创建我们自己的窗口环境。每个窗口都是一个 iFrame,我们在其中动态加载一个小程序。因此,Web 应用程序在应用了所有窗口环境功能(如拖动、关闭、打开多个窗口等)的窗口环境中的 HTML iframe 中运行 Java 小程序代码。
该产品在IE9及更早版本中运行完美。但是,一旦我们升级了 IE 10,我们就面临着严重的问题。有些与 IE10 不支持的 JavaScript 中的函数/属性有关。
主要是我们在 IE10 中挖掘并修复了这些问题:
- 在 JavaScript 中,如果没有 'this' 指针,许多方法都无法访问:我们添加了 'this' 指针来解决它
- IE10 不支持 element.getAttribute ("style")。我们使用了替代的 document.style 来完成它
然而,在这些小问题之后,我们忽略了所有的 JavaScript/HTML 异常,但网页无法正常显示。我们咨询了 MSDN IE 10 兼容性手册和许多其他论坛,以了解如果网页不遵循标准,则网页无法正确显示自身的可能性很高,因为 IE10 施加了严格的标准。
我们在所有 HTML 中添加了 doctype 和 metainf 标签,这样我们在 F12 开发者工具中的浏览器模式是 IE10,文档模式是 IE9 标准,但仍然没有改进。
我们正在搜索这个问题已经大约一个月了。阅读文档,支持,以及IE10的问题,但无法真正找到真正的问题。
页面应显示如下:
目前页面显示如下: