0

我有一个外部 Web 服务,它接收整个 html 字符串解析其内容并在将其返回给浏览器之前对其进行修改。

现在在浏览器中,我只需要用我收到的内容替换 html 文档,但事实证明这是一场令人难以置信的噩梦

我尝试了各种组合,例如:

document.documentElement.outerHTML = responseText;

document.getElementsByTagName("html").item(0).innerHTML

和 document.getElementsByTagName("head").item(0).outterHTML

似乎没有任何效果。它要么因 COM 异常而失败(是的,它在 BHO 内运行,或者带有其他一些随机消息,表明 O(o)utterHTML 不是目标的有效属性。

4

2 回答 2

0

你能改变网络服务吗?如果是这样,您可以使用 HTML 表单。为此,您需要让服务器接受编码为 application/x-www-form-urlencoded 或 multipart/form-data 的数据。

如果你能做到这一点,你可以简单地在你的页面上放置一个带有单个输入的表单。要从 Web 服务获取新代码,请将 HTML 字符串写入输入值并提交表单。浏览器将自动显示返回的 HTML 页面。

如果您不能/不会更改服务,那么我同意 nonnb:我认为不可能替换整个 HTML。但是你可以手动替换 body 和 head 的 innerHTML。从返回的字符串中拆分出身体和头部并替换它们。这与替换整个文档基本相同,但如果需要,您需要手动将属性应用于 body/head/html-tags。

于 2012-09-06T13:55:34.100 回答
0

AFAIK,你不能。最接近的是替换正文的内部 html

于 2012-09-06T13:24:02.797 回答