У меня есть функция 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>
В этом случае переданная строка:
<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>
Но, разумеется, поскольку функция "ReplaceContent" заменяет только тело, но не заголовок, я никогда не получаю предупреждение "Goodbye World".
Не обращая внимания на "почему я хотел бы это сделать", Как я могу динамически заменить всю страницу, включая заголовок и функции javascript?
Помните, что "исходный" html ("newContent" выше) существует только в виде строки, он нигде не существует на сервере, поэтому я не могу просто перенаправить его.
Какие изменения я внесу в "ReplaceContent" выше, чтобы оповещение "Goodbye World" появилось после замены контента? Пожалуйста, имейте в виду, что я не могу знать заранее значение переменной newContent !!