главная -> статьи -> сетевые приложения
 
Принципы организации взаимодействия пользователя с приложением (ресурсом)
  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
Hosted by uCoz