我有一个传递字符串的Javascript函数.传递的字符串是整个网页,包括标题.我需要使用Javascript来替换整个当前页面,以及所有新内容.
考虑以下HTML文件:
<html>
<head>
<script language="Javascript">
<!--
var newContent='<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>';
function ReplaceContent(NC) {
document.body.innerHTML=NC;
}
function Hi() {
alert("Hello World");
ReplaceContent(newContent);
}
-->
</script>
</head>
<body onload="Hi();">
Original Content
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,传递的字符串是:
<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>
Run Code Online (Sandbox Code Playgroud)
但是,当然,由于"ReplaceContent"功能只是取代了身体而不是标题,我从来没有得到"再见世界"的警报.
忽略"我为什么要这样做",如何动态替换整个页面,包括标题和javascript函数?
请记住"source"html(上面的'newContent')仅作为字符串存在,它在任何地方的服务器上都不存在,所以我不能只重定向到它.
我对上面的"ReplaceContent"进行了哪些更改,以便在替换内容后出现"Goodbye World"警报? 请记住我无法事先知道newContent变量的值!!
请注意:涉及"你为什么要这样做"的答案将被低估.
Dar*_*con 53
使用document.write.
<html>
<head>
<script language="Javascript">
<!--
var newContent='<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>';
function ReplaceContent(NC) {
document.open();
document.write(NC);
document.close();
}
function Hi() {
ReplaceContent(newContent);
}
-->
</script>
</head>
<body>
Original Content
<a href="javascript:Hi()">Replace</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Fre*_*ing 14
javascript:document.open('text/html');document.write('<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>HAI</title></head><body><h1>OMG HAI2U!!!1</h1></body></html>');document.close();
Run Code Online (Sandbox Code Playgroud)
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>HAI</title></head><body><h1>OMG HAI2U!!!1</h1></body></html>
Run Code Online (Sandbox Code Playgroud)
Yon*_*iXw 11
document.getElementsByTagName("html")[0].innerHTML
包含head
和body
标签。我通常会避免document.open\write\close
$("html").html('your page html here');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
39422 次 |
最近记录: |