我在使用Google Chrome与非Chrome浏览器(Firefox / IE)时经常出现问题。单独使用Polymer(例如查看Polymer Element演示页面)似乎不会引起任何问题。但是,当使用webcomponents时,会出现问题。在包含许多GUI和实用程序包的现有Web应用程序中包含js(jQueryUI,
该问题似乎与webcomponents.js有关。如果没有使用HTML导入并且仅导入 webcomponents.js,则会在Firefox和IE中引发相同的错误:
webcomponents.js:2114 - SyntaxError: An invalid or illegal string was specified
webcomponents.js:113 - Error: Assertion failed
webcomponents.js的具体行只是:
list = originalDocumentQuerySelectorAll.call(target, selector);
- 似乎没有立即明显的语法错误。
由于此错误,页面上的其他GUI元素现在表现出错误的行为。发生这种情况时,没有提供其他有用的控制台输出,并且没有其他JS包抛出的异常。使用Chrome时,不会显示此行为。
答案 0 :(得分:3)
我有同样的错误。我解决了它,在jquery.js之前加载webcomponents.js。
答案 1 :(得分:0)
我已经在最新版本的Firefox中测试了webcomponents.js
的最后一个版本,只是加载它(没有使用其他导入),它似乎工作...
您是否尝试使用webcomponents.js
的最新版本,或者它是旧版本? Firefox的版本怎么样?
无法在IE上测试,我在linux上,抱歉。
答案 2 :(得分:0)
加载jQuery(v1.10.2)和聚合物(webcomponents.js)时遇到了同样的问题。
使用jQuery v2.1.4修复它。
答案 3 :(得分:0)
我可以通过从脚本中删除$(document).ready
来解决此问题。
答案 4 :(得分:0)
不太确定这是否仍然有用,但是我最近在针对基于Polymer 1.11的应用程序使用web-component-tester运行单元测试时碰到了这一点。此问题开始出现在chrome v81上,并且之前工作正常。
因此,在每个规格文件中,我们都有一个webcomponents.min.js的导入,我将其替换为webcomponents-lite.min.js,并且对我有用。