Javascript Tampermonkey,Chrome,如何将html实体更改回符号?

Javascript Tampermonkey,Chrome,如何将html实体更改回符号?,javascript,google-chrome,tampermonkey,Javascript,Google Chrome,Tampermonkey,有一个网页将html代码嵌入到另一个html代码中,从而弄乱了html代码,当我试图用它们的符号等价物替换实体时,它只是删除了所有内容 以下是我尝试的代码: var marks = document.getElementsByTagName("body"); for(var i = 0, l = marks.length; i < l; i++) { var mark = marks[i]; mark.innerHTML = ma

有一个网页将html代码嵌入到另一个html代码中,从而弄乱了html代码,当我试图用它们的符号等价物替换实体时,它只是删除了所有内容

以下是我尝试的代码:

var marks = document.getElementsByTagName("body");
      for(var i = 0, l = marks.length; i < l; i++)
      {
         var mark = marks[i];
         mark.innerHTML = mark.innerHTML.replace('&lt;', '<');
         mark.innerHTML = mark.innerHTML.replace('&gt;', '>');
         mark.innerHTML = mark.innerHTML.replace('&amp;', '&');
      }
var marks=document.getElementsByTagName(“body”);
对于(变量i=0,l=marks.length;i

但它的作用如下:

首先,您只替换第一个引用,而不是所有引用

> '&lt;html&gt;&lt;body&gt;'.replace('&lt;', '<')
< "<html&gt;&lt;body&gt;"
> '&lt;html&gt;&lt;body&gt;'.replace(/&lt;/g, '<')
< "<html&gt;<body&gt;"
> '&lt;html&gt;&lt;body&gt;'.replace(/&lt;/g, '<').replace(/&gt;/g, '>');
< "<html><body>"

'htmlbody'。替换(“”,'你能告诉我问题是在replace调用中,还是当你分配给innerHTML时?当我尝试用其他文本替换它时,它工作得很好。它在大多数情况下都工作,但在加载非中断空格和+符号后,它们显示为和+;我不能以相同的方式替换它们。不过,我必须单独替换&sign,谢谢你的帮助帮助
let s = mark.innerHTML;
s = s.replace(/&lt;/g, '<')
s = s.replace(/&gt;/g, '>');
mark.innerHTML = s;