Да, для первой части iframe будет «сортировать» ваше окно от сценария в iframe. Однако к родительскому окну можно получить доступ через window.parent
.
Для второй части: Нет, это не сделает его настолько медленным, что скрипты в iframe не будут влиять на другие фреймы / окна. Ваш главный объект окна и его дочерние узлы все работают в одном потоке. JavaScript является однопоточным [в этом случае игнорировать веб-работников, вы не можете передавать элементы dom между ними], поэтому единственная причина, по которой вы можете получить доступ к объекту окна parent-window / child-iframe, заключается в том, что они находятся в одном потоке.
Для краткого примера:
- Создать страницу с именем main.html
- На этой странице есть iframe
src="iframe.html"
- Рядом с iframe, есть кнопка с любым текстом, который вы хотите, мне все равно.
- В iframe.html,
window.onload = function(){ while(1){} };
- Доступ к iframe.html. Вы заметите, что, когда вы наводите курсор мыши на кнопку, она не отвечает / перерисовывается. Это потому что браузер завис.
Источник:
Я тоже пытался получить многопоточность. Учился трудным путем =)