【问题标题】:Syntax error, unrecognized expression: unsupported pseudo: regex语法错误,无法识别的表达式:不支持的伪:正则表达式
【发布时间】:2013-08-01 19:51:18
【问题描述】:

IE: 语法错误,无法识别的表达式:不支持的伪:正则表达式

火狐: 错误:语法错误,无法识别的表达式:不支持的伪:正则表达式

我在 JS 错误日志中看到了这个错误,但我从未在自己的浏览器中看到过。它只发生在 Firefox 和 IE(各种版本)中,而不会发生在其他浏览器中。它发生在几十个不同的页面上。

因为它发生在我们一小部分用户的不同页面上,但仅限于 IE 和 Firefox,而且因为它从未发生在我身上,所以我觉得它一定是一个插件。如果是这种情况,我很乐意忽略该错误。但如果我确定这不是我的问题,我宁愿开始忽略错误。

如果有人有任何想法,我将非常感谢您的帮助!

【问题讨论】:

  • 代码?您正在使用的库?我们不是神谕——越详细越好。
  • 嗯,这就是问题所在。我不知道是什么代码导致了这种情况。如果您访问任何运行 jQuery 的站点(例如:[link]vols.pt),然后在控制台中运行 $(":regex"),您可能会重复此错误。但是,我已经 grep 了我们的整个代码库,并且字符串 ":regex" 不存在。因此,它必须来自其他地方。这就是我希望有人能告诉我的。有意义吗?
  • 更有意义。只是一个想法 - 如果您使用外部库,它们是按顺序加载的(通过将它们放在 中)还是按原样加载(通过将它们放在 或使用 requirejs )?如果是后者,可能有一个插件需要在其他一些代码之前加载,这就是导致问题的原因。
  • 我们正在使用 requireJS。但是,我再次搜索了我们的代码库,却找不到它的来源。我们在网站上确实有广告,所以我最好的猜测是一个带有糟糕 JS 的广告(应该包括它自己的 jQuery 副本)。由于我通常运行 Ad Block,我通常看不到它们。我希望其他人已经看到了这个问题并知道有问题的代码来自哪里。这没什么大不了的,只是我很好奇的事情。

标签: jquery syntax-error


【解决方案1】:

错误的原因是某处使用了$("#xxx:regex")jQuery("#xxx:regex")。这样的代码可以由ICEFaces push 生成,例如在客户端执行javascript。我在尝试从ICEFaces push 执行 javascript 时遇到了类似的问题。要修复它就足以在脚本中评论":" 就像$("#xxx\\:regex")ICEFaces JavaScriptRunner.runScript 中的jQuery("#xxx\\\\:regex")

【讨论】:

  • 我不确定这条评论是否完全相关......ICEFaces 是某种 Java 服务器的东西,我们不会在我们的网站上使用它。我知道其他东西可能会产生这种情况,例如第三方库。然而,第一个问题是 jQuery 没有一个叫做 :regex 的伪,所以转义没有帮助。其次,我想弄清楚是什么导致了这种情况,这样我就可以避免它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
相关资源
最近更新 更多