internet-explorer - [三.js] : script running in IE10, 未作为 HTA 运行

标签 internet-explorer three.js hta

我正在编写一个离线 HTML 应用程序,发现 Three.js 是一个很好的库(Win7、IE10)。

我在 IE10 中测试了几个示例 r59 脚本(包含我想要使用的功能),它们工作得很好。

这些脚本是:

“css3d_periodictable.html”和“canvas_articles_random.html”

但是,当将这些示例脚本从“.html”重命名为“.hta”(整个编码项目是一个 HTA 项目)时,相同的(否则未更改的)示例脚本会抛出错误并且无法工作。

由于这不是我通常遇到的情况,因此在我看来,该库依赖于随 MSHTA.EXE 删除的某些 IE 功能...

我的问题:这是可以修复的问题(浏览器检查条件等)还是 HTA 缺少的某些核心功能?

预先感谢您的帮助。

奥利弗

最佳答案

好的,问题明白了...解决方案很棘手。

在 HTML 应用程序 (HTA) 中使用 Three.js 代码时,HTA 默认使用 IE7 快速模式。您可以轻松地将以下行添加到 Three.js HTA:

<meta http-equiv="X-UA-Compatible" content="IE=IE10" />

但是,由于 MS IE 团队希望“更多地关注标准”,因此不再理解 HTA 标记(窗口状态、应用程序名称 - 仅举几例):-(

但是有一个有效的技巧......

使用您喜欢的所有标记代码创建一个空 HTA,例如:

<hta:application windowstate="minimize" border="none" icon="myIcon.ico" />

请勿在此处使用 IE10 X-UA-Compatible 元语句。

在该 HTA 中创建一个 onload javascript 函数,将 THREE.js HTML 页面加载到 document.location.href

如上所述here (social.msdn.microsoft.com)

HTML 页面应包含所有 THREE.js 代码和元语句(请参阅本文开头)。就像魅力一样。

感谢 Teemu 为我指明了正确的方向!

关于internet-explorer - [三.js] : script running in IE10, 未作为 HTA 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17941658/

相关文章:

javascript - navigator.geolocation 从第二次执行返回错误 - IE

asp.net - 检测IE设置: check for newer versions of stored pages "never"

javascript - 当变量为 null 或未定义时 IE9 javascript 错误

javascript - 如何使用 Three.js 制作视差效果

dom - 如何获取HTA窗口的大小?

windows - 在 Windows 构建服务器上使用 Internet Explorer 驱动程序截屏时出现黑屏

javascript - 为什么减小渲染器的大小会抵消我的点击事件 - 如何解决此问题

javascript - 纹理 Sprite 在 Three.js 中是全黑的

icons - 是否可以将自定义图标添加到 hta

windows - 如何让 HTA 自行重启?