[three.js]:在IE10中运行的脚本,不作为HTA运行

时间:2013-07-30 08:14:41

标签: internet-explorer three.js hta

我正在编写一个脱机HTML应用程序,并发现three.js可以成为一个很好的库(Win7,IE10)。

我在IE10中测试了几个示例r59脚本(包含我希望使用的功能),它们运行良好。

这些脚本是:

“css3d_periodictable.html”和“canvas_particles_random.html”

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

由于这通常不是我经常遇到的,在我看来,该库依赖于使用MSHTA.EXE删除的一些IE功能......

我的问题:这是可以解决的问题(浏览器检查条件,f.e。)还是HTA缺少的一些核心功能?

提前感谢您的帮助。

奥利弗

1 个答案:

答案 0 :(得分:2)

好的,问题理解......解决方案很棘手。

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

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

然而,由于MS IE团队希望“更多地关注标准”,因此不再理解HTA加价(windowstate,applicationname - 仅举几例): - (

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

使用您喜欢的所有标记代码创建一个空的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指出我正确的方向!