2010-05-04 2 views
0

Можно ли продлить DOM нового окна, которое я открыл, используя что-то вроде этого:Возможно ли расширить DOM нового окна, открытого с помощью window.open без загрузки prototypeJS в новом окне?

var newWindow = window.open('about:blank', 'testWindow', ''); 
Element.extend(newWindow); 

Я думал Element.extend будет работать .. Но я сделал вижу референс к прототипу в DOM.

Любые идеи?

Спасибо! Morten

ответ

0

Почему вы не хотите загружать прототип снова в новом окне ??? Я имею в виду, что ссылка находится в кеше, поэтому не имеет значения, если вы снова вставляете ее ... есть ли причина ???

0

Это, вероятно, не работает для about:blank из-за политики междоменной безопасности. Вы не можете получить доступ к DOM нового окна, если это окно не отображает страницу из того же домена.

Во-вторых, даже если окно имеет такое же происхождение, вы не можете получить доступ к его DOM, как только вы его откроете. Вам нужно дождаться загрузки. Простым способом является включение дочернего окна в родительское окно, когда оно выполняется при загрузке (после DOMContentLoad или Window.onload). Или вы можете повторно проверить, доступен ли DOM в цикле setTimeout (не используйте цикл while, потому что он зависает браузера, пока дочернее окно не будет готово). Как только DOM готов, вы можете делать то, что хотите с ним делать.