文档.评估won't工作从内容脚本
document.evaluate won't work from content script
var allTags = document.evaluate("//*[contains(@src,'"+imgSrc+"')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
这是给出错误的代码,它给出:
Uncaught Error: TYPE_ERR: DOM XPath Exception 52
谁能告诉我是什么问题? 我没有确切的答案,但我可以猜测并给出一个变通方法。
首先解决:将UNORDERED_NODE_SNAPSHOT_TYPE
更改为不创建快照的类型(除非您需要这样做),并返回多个节点,如UNORDERED_NODE_ITERATOR_TYPE
(或ANY_TYPE
)。
和我的猜测:在阅读规范之后,它说这个函数'TYPE_ERR:如果结果不能被转换为返回指定的类型就会引发'。它可能无法分配资源来创建快照或类似的东西(变通方法假设)。
编辑:真正的问题很可能不是对document.evaluate
的调用,在你的代码中,你做allTags.iterateNext
,这个调用期望allTags
是*_NODE_ITERATOR_TYPE而不是*_NODE_SNAPSHOT_TYPE,使用allTags.snapshotItem
不会导致抛出错误。我在jsfiddle上写了一个示例,它在2秒后使用调用来评估您的问题并以适当的方式迭代元素。
相关文章:
- HTML标记在脚本标记中工作
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 密码输入键脚本在首次使用后无法工作
- prettyPhoto脚本是't工作
- 在pjax完成其工作时加载脚本
- $(document).ready和jQuery(function($)不工作;jQuery已定义,但脚本尚未定义;t进
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 重新启动jquery脚本后,角度停止工作
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- 当源工作表添加了行时,如何编写在一个工作表中添加行的脚本
- Cufon脚本没有'不能在IE9下工作
- java脚本点击事件处理程序不工作
- 更改谷歌工作表中ImportHTML值的脚本
- 为什么这个书签脚本是't在IE工作
- Javascript函数不工作.脚本定位问题
- 谷歌SWIFFY无法在IE9中工作-脚本错误'运行时.js'
- 从控制台中的工作函数转换为工作脚本.(请参阅编辑)
- jQuery最新的库不工作脚本
- window.close()没有't工作-脚本可能只关闭它打开的窗口
- 链接到外部js文件不工作<脚本src="client.js"