Javascript Tampermonkey,Chrome,如何将html实体更改回符号?
有一个网页将html代码嵌入到另一个html代码中,从而弄乱了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
var marks = document.getElementsByTagName("body");
for(var i = 0, l = marks.length; i < l; i++)
{
var mark = marks[i];
mark.innerHTML = mark.innerHTML.replace('<', '<');
mark.innerHTML = mark.innerHTML.replace('>', '>');
mark.innerHTML = mark.innerHTML.replace('&', '&');
}
var marks=document.getElementsByTagName(“body”);
对于(变量i=0,l=marks.length;i
但它的作用如下:首先,您只替换第一个引用,而不是所有引用
> '<html><body>'.replace('<', '<')
< "<html><body>"
> '<html><body>'.replace(/</g, '<')
< "<html><body>"
> '<html><body>'.replace(/</g, '<').replace(/>/g, '>');
< "<html><body>"
'htmlbody'。替换(“”,'你能告诉我问题是在replace调用中,还是当你分配给innerHTML时?当我尝试用其他文本替换它时,它工作得很好。它在大多数情况下都工作,但在加载非中断空格和+符号后,它们显示为和+;我不能以相同的方式替换它们。不过,我必须单独替换&sign,谢谢你的帮助帮助
let s = mark.innerHTML;
s = s.replace(/</g, '<')
s = s.replace(/>/g, '>');
mark.innerHTML = s;