替换整个HTML

时间:2012-09-06 13:22:05

标签: c# html dom bho

我有一个外部网络服务,接收整个html字符串解析其内容并修改它,然后再将其返回给浏览器。

现在在浏览器中我只需要用我收到的内容替换html文档但这结果是一个令人难以置信的噩梦 !!!

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

document.documentElement.outerHTML = responseText;

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

和     document.getElementsByTagName( “头”)。项(0).outterHTML

似乎没什么用。它是失败有一个COM异常(是的,这是在BHO内运行的,或者是一些其他随机消息,说O(o)utterHTML不是目标的有效属性。

2 个答案:

答案 0 :(得分:0)

AFAIK,你做不到。最接近的是替换body's inner html

答案 1 :(得分:0)

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

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

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