загрузка фреймов в страницу asp.net - PullRequest
0 голосов
/ 27 июля 2010

У меня есть страница asp.net, которая наследует форму главной страницы, куда я загружаю javascripts. Мне нравится размещать iframe на странице, которая будет указывать на html (который содержит ссылку на javascript). Будут ли работать мои скрипты java ?

Ответы [ 2 ]

2 голосов
/ 27 июля 2010

Файлы Javascript, импортированные страницей в <iframe>, будут «работать» очень хорошо, если вы понимаете их контекст выполнения.<iframe> предоставляет отдельный контекст страницы от родительской страницы со своим собственным DOM.<iframe> DOM связан с родительским DOM, а родительский DOM связан с <iframe>, если страницы поступают из одного домена.

Это означает, что из <iframe>, если ваш код предполагает, что он находится в своем собственном окне, он, вероятно, будет работать нормально (или иметь какие-либо ошибки) :-) Однако он не сможет использовать что-то вроде document.getElementById("foo") для поиска элементов в родительская страница.Чтобы пересечь границы страницы, код должен будет явно использовать ссылку window.parent для перехода на содержащую страницу.

Полагаю, я хочу сказать, что вы должны понимать, что <iframe> не похож на "import "или" #include "средство для родительской страницы.Это способ создания полной «подстраницы».

1 голос
/ 27 июля 2010

Да, JavaScript может работать внутри iframe. Однако следует понимать, что вы работаете с разными объектами документа / окна, а объекты окна разные, поэтому для связи между iframe и parent вам придется использовать window.parent, чтобы получить объект окна родительского окна.

Вы работаете в разных контекстах. Код Javascript, выполняемый в iframe, можно рассматривать как код JavaScript, выполняемый изолированно, если игнорировать window.parent.

Похоже, словесный ответ, я не могу объяснить лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...