【问题标题】:IE8 Unbelievable Problem with inline LAB.JS script内联 LAB.JS 脚本的 IE8 令人难以置信的问题
【发布时间】:2011-06-17 04:12:19
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 令人着迷——我重新标记了你的问题,以便图书馆作者看到它:-)
  • @Pointy:感谢您添加标签!当我写这个问题时,我仍然处于难以置信的状态,我什至忘记了包含最重要的“LAB.js”标签:)

标签: javascript html internet-explorer browser labjs


【解决方案1】:

你可以用(?:...)包围你的正则表达式:

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

【讨论】:

  • 我会说,虽然这是你遇到的一个非常有趣的问题!
【解决方案2】:

如果你尝试一下,

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

【讨论】:

    猜你喜欢
    • 2016-01-20
    • 2010-10-25
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2014-06-02
    • 2018-08-05
    • 1970-01-01
    • 2013-01-06
    相关资源
    最近更新 更多