Logo    
Новости мира IT Форумы Новые публикации Учебный центр Книжный магазин Реклама
CitForum    Весь CITForum на CD !!! Море(!) аналитической информации! :: CITFORUM.RU   

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Круглый стол "Конфликт менеджмента и ИТ:
от непонимания к синергии"

11 марта 2004г., Москва, "Марриотт Гранд Отель"

2.7. Фреймы и окна

При работе с фреймами и окнами в предыдущих версиях JavaScript постоянно приходилось отслеживать последовательность открытия окон и фреймов, для того, чтобы аккуратно их потом закрывать. На некоторых неточностях работы с окнами были основаны так называемые mail-bombs. Суть этих "подарков" заключалась в том, что если пользователь по почте принимает документ, который состоит только из одной команды:

	window.close()

то система не спрашивая пользователя закрывала текущее окно, а в этот момент таким окном является окно электронной почты. Теперь, перед тем как что-либо закрыть, система будет спрашивать разрешения. Правда, опять не всегда. Если в момент получения команды на закрытие окна на экране только одно окно Navgator, то система его закроет без каких-либо комментариев.

Однако, работа с окнами и фреймами на этом не исчерпывается. Во-первых, в систему введено новое свойство opener, которое определено для текущего окна или фрейма, и методы blur и focus распространены на работу с окнами. Свойство opener определяет окно документа, который вызвал открытие окна текущего документа. Свойство определено для любого окна и фрейма. Необходимо выполнить некоторые функции по отношению к окну, открывшему данное окно, и можно использовать выражение типа:

	window.opener.[method]

Например, если требуется закрыть окно-предшественник, то можно просто выполнить метод close:

	window.opener.close()

Точно таким же способом можно изменить содержание этого окна при помощи методов write или writeln. Можно менять и другие свойства объектов в окне предшественнике. Следующий пример взят из дополнений к спецификации JavaScript:

	window.opener.document.bgColor='cyan'

В данном случае для окна предшественника определен светло голубой цвет в качестве цвета фона. Но самым замечательным является то, что предшественника можно менять. Это значит, что автор получает возможность открывать и закрывать окна не строго иерархической последовательности, а в произвольном порядке. Управление многооконным интерфейсом в этом случае становится более гибким:

	window.opener= new_window
	window.opener = null

Первый пример переназначает для текущего окна окно-предшественник, в то время как второй вообще защищает предшественника от каких-либо действий. Все, что было сказано об окнах, распространяется и на фреймы, которые являются просто частным случаем окна. При работе с фреймами часто фрейм может быть порожден путем разбиения другого фрейма на части. Если при этом потребуется обратиться к окну-предшественнику фрейма-предшественника, то свойство opener в этом случае незаменимо. Разработчики языка следуют за пожеланиями авторов Websit'ов и практикой применения JavaScrip, которая на начальной стадии разработки языка не была столь очевидной. Кроме обращения к различным свойствам окон и фреймов разработчики расширили действие методов blur и focus с фреймов до окон. Теперь не только фрейм, но и окно может быть сделано текущем с использованием метода focus или, наоборот, переведено в фон при помощи метода blur. В ряде случаев, при порождении нескольких страниц, например, обращение к этим функциям бывает довольно полезным.

Назад | Содержание | Вперед


Google
WWW CITForum.ru

Подписка на новости библиотеки:

Новые поступления в on-line библиотеку:

4 марта

  • Разработка критериев анализа систем автоматизации тестирования
  • Проблемы математического, алгоритмического и программного обеспечения компьютерной безопасности в Интернет
  • Возможности нападения на информационные системы банка из Интернета и некоторые способы отражения этих атак

    26 февраля

  • Системы обнаружения аномалий: новые идеи в защите информации
  • Средства разработки Java-приложений
  • Особенности работы Delphi с "русским" Excel'ем
  • Использование наследования форм для создания обработчика однотипных операций

    24 февраля

  • Тотальное внедрение: есть ли альтернатива?
  • Наследование типов объектов в Oracle
  • О беспроводных решениях
  • Обязательный Wi-Fi?
  • Стандарт для городских просторов

    19 февраля

  • Жизненный цикл обслуживания продуктов
  • Управление компанией можно довести до автоматизма
  • Вести с магнитных полей
  • Большие ЖК-мониторы для больших целей
  • WINNTик и ШпуNTик или Ставим В2К после В2К3

    17 февраля

  • Внедрение ИС: через тернии к звездам
  • Автоматизация документооборота компании - непростой выбор
  • Использование языка макрокоманд в AllFusion ERwin Data Modeler
  • Flash и CBuilder
  • Оптимизация соединения с Интернет

    12 февраля

  • Англо-русский и русско-английский словарь криптографических терминов
  • Информационная безопасность: экономические аспекты
  • Подход UniTesK к разработке тестов: достижения и перспективы
  • Динамическая поддержка расширений процессора в кросс-системе
  • О некоторых задачах анализа и трансформации программ

    10 февраля

  • Лучшие практические методы администрирования СУБД Oracle9i (часть I)
  • Атака на Windows NT
  • Чем измерить безопасность Интернет?

    Обзоры журнала Computer:

  • Скрытые контракты .NET
  • Web-сервисы: на пути к зрелости

    5 февраля

  • Команда "шаг" в параллельных отладчиках
  • Эвристики распределения задач для брокера ресурсов Grid
  • Серверы от российских разработчиков
  • Технология LaGrande: аппаратная защита будущего
  • Старые песни о главном
    О новых разработках в области полупроводников
  • Время собирать камни
    Обзор элементной базы для построения беспроводных сетей
  • Очипованный мир
    О технологии Radio Frequency IDentification - RFID
  • Киберкрыша
  • Mediation в телекоммуникациях или Что такое предбиллинг

    Все новости >>>

  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Реклама на IT-портале citforum.ru

    Нестандартные PR-акции - pr@citforum.ru
    Пресс-релизы и информация в каталог компаний - manager@citforum.ru
    Комментарии: info@citforum.ru Rambler's Top100 Copyright ©
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.