【发布时间】:2021-12-01 10:06:35
【问题描述】:
我正在尝试使用 firefox 制作一个 tampermonkey 脚本,在该脚本中我使用 xmlhttpRequest 来检索外部信息,但我在控制台中不断收到相同的错误: “未捕获的 DOMException:节点不能在创建它的文档之外的文档中使用”。我不想使用 responseText 来查找我需要的信息,我想把它变成一个我可以应用评估和引用元素的 DOM。但是我这样做的方式似乎不起作用。 有人知道我该如何处理吗?
GM_xmlhttpRequest({
method: "get",
url: someurl,
onload: function(responseDetails) {
if(responseDetails.readyState == 4 && responseDetails.status == 200){
var parser = new DOMParser()
var to_DOM = parser.parseFromString(responseDetails.responseText, "text/html")
alert(to_DOM.evaluate("//tr[@bgcolor]/b[1]",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null).snapshotItem(0).innerText)
}
}
})
【问题讨论】:
-
为什么引用的是网页的文档而不是刚刚创建的文档?
-
没错,我一分钟前自己就想出来了,哈哈。现在工作。不过谢谢:)
标签: javascript dom xmlhttprequest tampermonkey