在与 Javascript 中的当前页面不同的页面上调用函数

Calling function on a separate page than current in Javascript

我有一个正在浏览器控制台中 运行 的功能。

function answer(){

  console.log(document.querySelector("#qti-choiceinteraction-container > tbody > tr.checkedrow > td.answer > div > label > span > p"));

}

很明显,它正在打印我当前所在页面上某个元素的一些文本。问题是,我想在不同的页面上查询,而不是当前页面(文档)。

如果我有我想要 运行 的页面的 URL,我将如何在不同的页面而不是文档上调用 querySelector 方法?

如果页面在同一个域中,或者没有跨域限制,fetch来自URL的响应文本,然后将其解析为[=12]的文档=],然后您可以在该文档上使用 querySelector

fetch(url)
  .then(res => res.text())
  .then((responseText) => {
    const doc = new DOMParser().parseFromString(responseText, 'text/html');
    console.log(doc.querySelector("#qti-choiceinteraction-container > tbody > tr.checkedrow > td.answer > div > label > span > p"));
  })
  .catch((err) => {
    // There was an error, handle it here
  });

如果页面位于不同的域 并且 具有(常见的)跨域限制,那么绕过这些限制的唯一方法是将请求从服务器退回反而。 (让您的脚本向服务器发出请求,让服务器向其他站点发出请求,然后让服务器将响应发送回您的脚本。)

您需要将元素传递给函数。我假设你的函数比这个例子更复杂,你不需要一个函数。

function answer(element){
    console.log(element);
}

answer(document.querySelector(".myDiv"))
<div class="myDiv"></div>