对此有很多疑问,但没有一个真正有帮助。 What other options for replacing entire HTML document via W3C DOM?更接近我想要的,但没有回答我的问题。
我有一个页面。当用户单击从该页面到另一个页面的链接时,将使用 AJAX 获取新页面的内容。 responseText
包含一个全新的页面。如何用新内容替换旧内容?
Facebook 完美地做到了这一点,Gmail 也是如此。页面已更新,包括其头部(当页面标题根据新内容更改时我注意到了这一点)。
到目前为止,我已尝试替换 innerHTML
的<html>
标签,但变量从一个页面传送到另一页面,这会导致错误。我也尝试过document.write(xhr.responseText)
但这在 history.onpopstate
时引起了冲突被调用,但大多数情况下,它非常慢。
我还没有尝试过的是document.replaceChild(newDom, document.documentElement)
,因为我找不到创建新文档对象实例的正确跨浏览器方法。
那么,有没有一种干净的方法来欺骗浏览器“这是一个新页面。您不应该将变量从前一页传递到此页面。将其呈现为与我这里的 HTML 文本完全不同的页面。” ?
最佳答案
你可以用 Angular JS 完美地做到这一点。即使使用 Angular js 也非常简单
关于javascript - 使用 JavaScript 的 AJAX 响应更新页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35533044/