在单独页面上的调用函数,与Javascript中的当前函数[重复]

问题描述 投票:0回答:2

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

function answer(){

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

}

显然,它是在我当前页面上的某个元素中打印一些文本。问题是,我想在其他页面上查询,而不是当前页面(文档)。

如果我有要在其上运行的页面的URL,如何在另一个页面而不是文档上调用querySelector方法?

javascript jquery html console.log
2个回答
1
投票

[如果页面在同一域中,或者没有跨域限制,请从该URL回复fetch,然后使用DOMParser将其解析为文档,然后可以使用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
  });

如果页面在另一个域上,[[和具有(通用)跨域限制),那么绕过这些限制的唯一方法是将请求退回服务器。 (让您的脚本向服务器发出请求,让服务器向另一个站点发出请求,然后让服务器将响应发送回您的脚本。)


-1
投票
您需要将元素传递到函数中。我认为您的函数比本示例要复杂,您不需要该函数。

function answer(element){ console.log(element); } answer(document.querySelector(".myDiv"))
<div class="myDiv"></div>
© www.soinside.com 2019 - 2024. All rights reserved.