我有一个外部网络服务,接收整个html字符串解析其内容并修改它,然后再将其返回给浏览器。
现在在浏览器中我只需要用我收到的内容替换html文档但这结果是一个令人难以置信的噩梦 !!!
我尝试过各种组合,例如:
document.documentElement.outerHTML = responseText;
和
document.getElementsByTagName("html").item(0).innerHTML
和 document.getElementsByTagName( “头”)。项(0).outterHTML
似乎没什么用。它是失败有一个COM异常(是的,这是在BHO内运行的,或者是一些其他随机消息,说O(o)utterHTML不是目标的有效属性。
答案 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。