Каждая отдельная страница имеет свою глобальную среду. Связанные страницы связаны различными способами (window.parent
, элементы фрейма и т. Д.). Если родительская страница включает в себя вторичную страницу в качестве содержимого тега <iframe>
(или в настройке набора фреймов старого стиля, чего я не делал уже более десяти лет :-), то у страниц в фреймах есть свои отдельный window
объект, а также собственные копии каркасов, инструментов и т. д.
Когда вы делаете что-то вроде document.getElementById("whatever")
, это ограничивается глобальным контекстом, из которого оно вызывается. Точно так же каждый фрейм имеет свою собственную среду JavaScript с отдельной копией различных «нативных» конструкторов JavaScript. То есть «Массив» в одном кадре является отличным от «Массива» в другом кадре.
@ Упоминание Джаррода Н о веб-работниках также может представлять для вас большой интерес.