替换整个页面内容(使用DOCTYPE)

时间:2017-02-22 22:00:04

标签: javascript html ajax

我知道之前已经问过这个问题,但大多数答案只替换了body标签,或者需要jQuery。我希望能够使用纯JavaScript替换整个页面内容,包括DOCTYPE 。另外,我不想使用window.location.href重定向页面。拿这个简单的页面(index.html):

<!DOCTYPE html>
<html>

<head>
  <title>Test</title>
</head>

<body>
  <p>Testing...</p>
</body>

</html>

使用AJAX加载另一页后:

var page;
var file = new XMLHttpRequest();
file.open('GET', './toload.html');
file.onreadystatechange = function() {
  page = file.responseText;
}
file.send();

我想删除当前页面内容并显示toload.html的内容,即:

<!DOCTYPE html>
<html>

<head>
  <title>Loaded</title>
</head>

<body>
  <p>Hello. This page is now loaded!</p>
</body>

</html>

我该怎么做?

1 个答案:

答案 0 :(得分:2)

我能得到的最接近的是:

document.getElementsByTagName('html')[0].innerHTML="";

如果我能找出无法清除DOM根节点的原因,请更新此答案。