Объект window является объектом верхнего уровня в который загружается документ, являющийся дочерним объектом, именно поэтому из дочернего объекта мы не можем воздействовать на свойства и методы родительского окна. Это в случае, если объект document не создает новое окно. Если посредством программы JavaScript создается новое окно из объекта document, - новое окно становится уже дочерним объектом от document, следовательно мы уже можем им управлять. И документ, загруженный в новое окно также является потомком от объекта document окна верхнего уровня, следовательно из документа, загруженного в новое окно мы тоже можем управлять этим окном. Тоесть, окно, созданное из объекта document является потомком этого объекта и на него мы можем воздействовать. В виду того, что в любом случае существует основное родительское окно которое можно просто закрыть, тем самым лишить потомков родителя и тогда основным становится первое созданное окно, а если все созданы из одного документа, то о наследственности вообще речи быть не может - они станут разрозненны, следовательно массив windows - не существует и не может таковой существовать. Окнам можно задавать только имена и получать доступ только через имя. При исчезновении родителя исчезает и имя - окно становится "сиротой" - это предотвращает обращения к несуществующим объектам window. К чему я это тут распинаюсь? Часто задают вопросы: какими средствами JavaScript можно закрыть какое-либо окно, созданное другой программой? Ответ - нет таких средств. Нужно просто кликнуть на "крестик" в правом углу окна или воспользоваться меню.
Честно сказать я с начала не хотел вводить эту тему. Что можно говорить о переменных, особенно в JavaScript? Но потом вспомнил, как иногда разбирался со сложными конструкциями и с трудом понимал некоторые, казалось бы недопустимые в других языках программирования выражения. Можно сказать так: здесь вам не будет ошибки "Неверный тип данных", а если и будет то очень редко. Если вы работали с другими языками программирования, тогда вспомните как часто у вас возникала ошибка о неверных типах данных. В языке JavaScript тип данных может с легкостью переопределяться, при этом вы можете и не заметить в каком месте, - вот в этом то и сложность. С другой стороны, если вы будете хорошо ориентироваться в принципах преобразований типов, знать все свойства переменных и массивов, эти возможности только принесут вам уверенность в написании программ.
Атрибут onSubmit можно использовать только с тегами, определяющими формы: <form onSubmit ="expr | function()"> . . . </form> Событие Submit возникает при нажатии кнопки, заданной тегом <input type="submit">. Такая кнопка обычно присутствует во всех формах, данные из которых могут пересылаться на Web-сервер.
Использование языка JavaScript при обработке событий значительно расширило возможности языка HTML. Чаще всего программы создаются для обработки информации, вводимой пользователем в поля форм. Возможности управления элементами форм обеспечиваются главным образом за счет функций обработки событий, которые могут быть заданы для всех элементов формы. События делятся на несколько категорий: события, чвязанные с документами (события документа): - загрузка и выгрузка документов; события, связанные с гиперсвязью (события гиперсвязи): - активизация гиперсвязи; события, связанные с формой (события формы): - щелчки мыши на кнопках - получение и потеря фокуса ввода и изменение содержимого полей ввода, областей текста и списков; - выделение текста в полях ввода и областях текста; события, связанные с мышью: - помещение указателя мыши на гиперсвязь и активизация гиперсвязи.
Объект password представляет собой поле ввода, содержимое которого не подлежит просмотру. Вместо каждого символа, введенного в таком поле, отображается символ звездочки (*). В то же время содержимое данного поля сохраняется как обычный текст. Объекты password, в своою очередь являются свойствами объекта form и должны помещаться в контейнере <form> . . . </form>.
то для обращения к первому фрейму вы можете использовать выражение parent.frames[0], и соответственно ко второму - parent.frames[1]. Таким образом, для обращения к отдельным фреймам и к свойству length массива frames используются выражения вида: frameRef.frames[i] frameRef.frames.length windowRef.frames[i] windowRef.frames.length
Многие объекты языка JavaScript соответствуют тегам, формирующим HTML-документы. Каждый такой объект состоит во внутренней иерархии, поскольку все они имеют общий родительский объект - браузер, который представлен объектом window.
В предыдущей главе мы рассмотрели базовые операторы языка JavaScript. В примерах использовали объекты и методы языка. Для тех, кто только начал изучать JavaScript некоторые моменты могли ввести в заблуждение. Здесь я более подробно опишу объектную модель языка. Также как можно более подробно опишу стандартные объекты JavaScript.
Для чего, собственно, нужен JavaScript. JavaScript был разработан совместно компаниями Sun Microsystems и Netscape. За синтаксическую основу нового языка был взят язык Java, в свое время разработанный компанией Sun Microsystems. В последнее время популярность JS очень возросла в результате выхода в свет новейших браузеров поддерживающих данный язык.