IE8内联LAB.JS脚本难以置信的问题

时间:2011-06-16 20:03:38

标签: javascript html internet-explorer browser labjs

我一直在努力让我的网站表现良好。可以实现这一目标的一种方法是在我的HTML中包含一个内联的LAB.js脚本加载器,然后在下一行中并行加载我的脚本。

因此,在包含一堆代码的LAB.js库中,存在这一特定代码行{var c=/^\w+\:\/\//,d;if(typeof a!=q)。当我把这段代码内联到我的HTML的脚本标签内时,它在Mozilla和chrome中运行良好..但是在这个名为“microsoft”的伟大软件公司构建的名为Internet explorer 8的浏览器中失败了。

查看"\/\//"所在的部分。最后两个字符“//”在mozilla和chrome中都没有任何问题进行解析。但是在IE中,最后两个字符被解析为注释运算符,因此,在最后两行之后的任何代码都被呈现为注释(无用)。这真是令人难以置信。在IE中,这两个字符之后的其余代码实际上是无用的并且是绿色的(如评论中所述)有没有人看过这个问题之前发生过?请帮忙。感谢。

在Mozilla和chrome中:(最后两个字符)“//”,d;if(typeof a!=q)

在IE中://,d;if(typeof a!=q)

2 个答案:

答案 0 :(得分:2)

您可以使用(?:...)包围正则表达式:

 c=/(?:^\w+\:\/\/)/,d;if(typeof a!=q)

答案 1 :(得分:1)

如果你尝试怎么办,

c = new RegExp("^\w+\:\/\/"),d;if(typeof a!=q)