Я хочу изменить javascript страницы внутри iframe. (У меня нет проблем Междоменных)Динамически меняющийся javascript
Скажет, у меня есть два HTML файла:
index.html
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
function change() {
\t var text = document.getElementById("text").value;
\t
\t var html = $("#iframe_id").contents().find("html").html();
\t html = html.replace(/---someText---/mg, text);
\t $("#iframe_id").contents().find("html").html(html);
}
</script>
</head>
<body>
Dynamic Alert Text: <input type="text" id="text" value="" />
<input type="button" value="Change Iframe" onclick="change()" />
<br><br>
<iframe src="iframe.html" id="iframe_id" width="500" height="400"></iframe>
</body>
</html>
и iframe.html
<html>
<head>
<script>
function test() {
\t alert("---someText---");
}
</script>
</head>
<body>
<div>Text is: ---someText---</div>
<input type="button" value="Test Me!" onclick="test();" />
</body>
</html>
Я хочу заменить предупреждающее сообщение iframe.html текстом, который я получаю от index.html Просто замена его не работает. Есть ли работа вокруг.
Вместо того, чтобы иметь предшествующий iframe, сгенерируйте iframe с вашими данными в нем, используя ваш javascript, вместо того чтобы его редактировать, а затем поместить в DOM – Asheliahut
. Мне все равно нужно его изменить, когда пользователь меняет ввод и показывает «Изменить ". – marvin
Затем на кнопке изменения снова уничтожить iframe в DOM и воссоздать. Вы не можете редактировать что-либо внутри iframe, что создаст огромные проблемы безопасности. Ответ ниже использует хороший обходной путь. Это то же самое, что хранить информацию на сервере и иметь iframe pull, кроме как на стороне клиента. – Asheliahut