我知道这个问题以前已经被问到过,但大多数答案只替换了body标签,或者需要jQuery。我希望能够使用普通的JavaScript替换整个页面内容,包括DOCTYPE。另外,我不想用window.location.href
重定向页面。把这个简单的页面(index.html的):替换整个页面内容(使用DOCTYPE)
<!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>
我该怎么做?
'document.write(page);'会做到这一点。你有没有理由不使用ajax框架?如果您要使用JQuery,您可以执行'$('html')。html(page);' – Edward
[使用Javascript替换整个页面包括头]的可能重复(http://stackoverflow.com/questions/4292603/替换 - 完整页包括头使用javascript) –
@AndyRay我已经读过那个页面,但我不认为这些方法中的任何一个都会替换DOCTYPE。 –