Javascript 如何在解析html文件时强制不发送其他请求?

Javascript 如何在解析html文件时强制不发送其他请求?,javascript,Javascript,我正在编写一个chrome扩展,它向网站发送GET请求,并开始删除作为响应返回的.html文件。 在查看ChromeDevTool中的网络部分时,我看到html发送了很多无用的(对我来说)请求,因为它们是网页逻辑的一部分。 有没有一种方法可以原样读取和解析html文件而不创建所有这些间接请求? 另一个请求的发起人是行(如chrome所示): 这是我正在运行的代码中与此问题相关的部分: function makeCall(word) { var xhr = new XMLHttpReque

我正在编写一个chrome扩展,它向网站发送
GET
请求,并开始删除作为响应返回的
.html
文件。 在查看ChromeDevTool中的网络部分时,我看到html发送了很多无用的(对我来说)请求,因为它们是网页逻辑的一部分。 有没有一种方法可以原样读取和解析html文件而不创建所有这些间接请求? 另一个请求的发起人是行(如chrome所示):

这是我正在运行的代码中与此问题相关的部分:

function makeCall(word) {
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = processResponse(xhr);
    xhr.open("GET", 'https://school.morfix.co.il/' + word, true);
    xhr.send(null);
}
function processResponse(xhr) {
    return function(){
        if (xhr.readyState == XMLHttpRequest.DONE) {
            var htmlObject = document.createElement('div');
            htmlObject.innerHTML = xhr.responseText;
            var translations = htmlObject.getElementsByClassName("normal_translation_div");
            for (var i=0; i< translations.length; i++){
                var trans = translations[i].innerHTML;
                console.log(trans.replace(/<span class=\"clearOutputLanguageMeaningsString\">; <\/span>/g, ";"));
            }
        }
    }
}
函数makeCall(word){
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=processResponse(xhr);
xhr.open(“GET”https://school.morfix.co.il/""字,对",;
xhr.send(空);
}
函数processResponse(xhr){
返回函数(){
if(xhr.readyState==XMLHttpRequest.DONE){
var htmlObject=document.createElement('div');
htmlObject.innerHTML=xhr.responseText;
var translations=htmlObject.getElementsByClassName(“正常翻译div”);
对于(var i=0;i
尝试访问而不是
responseText
。它应该为您提供一个可以对其执行查询的文档

如果不起作用,可以使用来解析响应,而不是创建DOM节点,如下所示:

const parser = new DOMParser()
const parsedDoc = parser.parseFromString(xhr.responseText, 'text/html')

// now you can use the parsedDoc like a regular document
var translations = parsedDoc.getElementsByClassName("...")
const parser = new DOMParser()
const parsedDoc = parser.parseFromString(xhr.responseText, 'text/html')

// now you can use the parsedDoc like a regular document
var translations = parsedDoc.getElementsByClassName("...")