Во-первых, вы, кажется, копируете код JavaScript в теги DIV. Это не должно действительно работать, так как это будет относиться к нему как к обычному тексту. Чтобы проиллюстрировать, сравните эти два блока кода. Первый, это DIV:
<div>alert('hello!');</div>
И это будет выглядеть на странице примерно так:
оповещения ( 'привет!');
Второй блок кода, это скрипт:
<script>alert('hello!');</script>
Который откроет окно сообщения с текстом «привет!» И будет ждать нажатия кнопки «ОК». Но кроме этого, ничего не будет отображаться на странице.
Вы нацелены на второй вариант - тот, который фактически выполняет код JavaScript, который находится между тегами.
Я бы рекомендовал обернуть скрипт, который вы хотите вызвать, в функцию и вызывать эту функцию по имени. Допустим, у вас в IFRAME есть HTML-документ, тело которого выглядит примерно так:
<div id='jscode'>
function mycode() {
// This is some code!
alert('Hello there!');
}
</div>
Затем вы можете в родительском документе IFRAME (содержащем тег <iframe>
) использовать следующий код в родительском документе для его импорта в DOM родителя:
function copyRtfToDiv()
{
myiframe = document.getElementById('myiframe');
content = myiframe.contentWindow.document.GetElementById('jscode').innerHTML;
newscripttag = document.createElement('script');
newscripttag.innerHTML = content;
mycode();
}
Я понятия не имею, почему вы хотели бы сделать что-то подобное - что в основном заключается в переопределении кода JavaScript, чтобы жить в DOM вашего документа; Есть лучшие способы сделать это, не в последнюю очередь использование другого редактора, который можно просто вызывать извне. Например, tinyMCE и FCKEditor .
Удачи!