главная -> статьи -> сетевые приложения | |
Принципы организации взаимодействия пользователя с приложением (ресурсом)
1. Традиционный последовательный интерфейс, - заключается в выдаче пользователю серии страниц, формирующихся с учетом его действий (сохранение и передача параметров посредством запросов, объекта session, скрытых полей). 2.Обновляемая форма, - одна страница, например со слоями, обновляемая сервером. Может рассматриваться как разновидность традиционного последовательного. 3. Динамически изменяемая форма (без полного обновления). Первая и вторая позиции обычно не вызывают сомнений в принципах их реализации. Но вот с третьей следует разобраться. Новомодная технология AJAX (Asynchronous JavaScript and XML), в которой web-страница сама догружает нужные пользователю данные, аппелирует к ускорению взаимодействия клиента с сервером. Конечно, это важная позиция в проектировании приложения, но существуют более отягощенные ситуации. Например, при использовании в учебных приложениях flash графики (схемы, структуры) с последовательным изменением состояния в процессе взаимодействия с ними, обновление просто не допускается (или будет чрезмерно неэффективным). Подобные проблемы можно разрешать и старым дедовским способом (не сравнивая эффективность решений). Использование объекта iframe На странице размещаем плавающий фрейм нулевой размерности: <iframe name = "get_block" id = "get_block" src="get_block.asp" width="0" height="0"> С основной страницы обращаемся к нему по какому-то событию: get_block.location.assign("get_block.asp?block_id="+переменная); На стороне сервера производится обработка события - get_block.asp, и возвращается страница, на которой можно разместить требуемую информацию. <html> <head> <script language="JavaScript"> var blarr_col = new Array(<% =tmp_blarr_col%>); function onLoaded(){ parent.blarr_col = blarr_col; parent.start_block(); } </script> </head> <body onLoad="onLoaded()"> </body></html>В приведенном примере предается массив цветов, после загрузки фрейма этот массив переписывается в родительскую страницу, вызывается функция parent.start_block() |
|
© 2007 Сединко А.М.
© 2004 design by kir |