Я немного подправил вашу скрипку: http://jsfiddle.net/gilly3/XcSYz/3/
Во-первых, вы не можете написать doctype для innerHTML тела и ожидать, что он что-то сделает для вас.То же самое с метатегом charset.Я перенес все это в document.write
вызов.
Вы оценивали теги сценария на входе редакторов.Во-первых, это приводит к ошибкам, как сумасшедшим, если вы редактируете тег скрипта во фрейме html.Во-вторых, если вы поместите alert("hello")
в тег скрипта на панели HTML, то при каждом нажатии клавиши вы получите предупреждение.В-третьих, вы оценивали сценарии в контексте родительского окна.Я изменил теги html-скрипта, которые будут оцениваться при нажатии кнопки run и с правильным контекстом.
Поскольку вы не хотите переписывать документ каждый раз (вы не можете, например, doctype), я изменилэто немного, чтобы сделать некоторые манипуляции с домом вместо этого.Он удаляет и заменяет тег стиля и записывает только содержимое HTML-панели в innerHTML тела.
Это забавный маленький проект, который вы пробуете.jsFiddle глючит и нуждается в некоторых обновлениях.Я не знаю, насколько жизнеспособна ваша чистая клиентская скрипка - jsFiddle довольно устойчив (несмотря на ошибки), но это хорошее упражнение, чтобы попробовать ваш подход.
Редактировать: Еще одно изменение, включенное в этой версии : я изменил ваши текстовые области, чтобы использовать width: 50%; height: 50%;
вместо установки right
и bottom
.Те не работали должным образом в IE или FF.