Конкурирующие загрузки javascript в главном окне и iframe

#javascript #iframe #onload

#javascript #iframe #загрузка

Вопрос:

Я читал об активации javascript при запуске onload и о том, как связать несколько экземпляров вместе (и о некоторых подводных камнях), но будет ли какое-либо «столкновение» между загрузками, если я запущу один в теле главного родительского окна и один в теле iframe в этомродительский элемент?

Ответ №1:

Iframe — это совершенно отдельный window document объект and и совершенно отдельный контекст Javascript. Таким образом, Javascript в iframe выполняется полностью независимо от Javascript в его главном окне.

Они не будут иметь ничего общего друг с другом, если вы специально не закодируете их, чтобы попытаться взаимодействовать, извлекая документ или окно другого, а затем пытаясь взаимодействовать с его объектами или переменными. Если iframe является другим доменом (технически другим источником), чем хост-страница, то браузер даже предотвратит большинство взаимодействий между ними (уязвимости безопасности). Из разных доменов максимум, что они могут сделать, это отправлять сообщения друг другу (без прямого взаимодействия).


Итак, если вы не пытаетесь заставить их взаимодействовать с помощью целенаправленного кодирования с этой целью, ваши два onload обработчика не будут иметь ничего общего друг с другом.

Комментарии:

1. Спасибо, это именно то, что мне нужно. Я не хочу, чтобы они вообще взаимодействовали.

Ответ №2:

Загрузки не будут конфликтовать так, как вы можете подумать, а просто запускают каждый отдельно для своего отдельного window объекта. Оба они будут ограничены своей областью действия.