Ajax

Для выполнения до 1000 XML запросов к Google в день Вам предварительно необходимо зарегистрироваться и получить ключ.search=»Word» xmlhttp.open(«POST», «http://api.google.com/search/beta2»,true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { alert(xmlhttp.responseText) } } xmlhttp.setRequestHeader(«Man», «POST http://api.google.com/search/beta2 HTTP/1.1») xmlhttp.setRequestHeader(«MessageType», «CALL») xmlhttp.setRequestHeader(«Content-Type», «text/xml») xmlhttp.send(«<?xml version=’1.0′ encoding=’UTF-8′?>»+»\n\n»+»<SOAP-ENV:Envelope»+ ‘ xmlns:SOAP-ENV=»http://schemas.xmlsoap.org/soap/envelope/»‘+ ‘ xmlns:xsi=»http://www.w3.org/1999/XMLSchema-instance»‘+ ‘ xmlns:xsd=»http://www.w3.org/1999/XMLSchema»>’+ ‘<SOAP-ENV:Body><ns1:doGoogleSearch’+ ‘ xmlns:ns1=»urn:GoogleSearch»‘+ ‘ SOAP-ENV:encodingStyle=»http://schemas.xmlsoap.org/soap/encoding/»>’+ ‘<key xsi:type=»xsd:string»>GOOGLEKEY</key> <q’+ ‘ xsi:type=»xsd:string»>’+search+'</q> <start’+ […]

Несложная система комментирования с использованиям Ajax. Не использует никаких баз данных. Сообщения добавляются непосредственно в код html или php страниц.Рассмотрим систему отображения формы по Ajax-запросу и записи комментариев.<?php// Универсальная система добавления комментариев на страницы любого сайта с использованием технологии Ajax// Вы можете использовать данный код в любых своих разработках с сохранением этого комментария// Размещение исходного кода на сайтах возможно только при наличии активной ссылки на первоисточник:// http://HTMLWEB.RU/ajax/example/load_form.php// Все остальные права принадлежат автору: Колесникову Дмитрию Геннадьевичу$u_name=param(‘name’);$u_mail=param(‘mail’);$u_www=param(‘www’);$DEBUG= (getenv(‘REMOTE_ADDR’)==’127.0.0.1′);$HTTP_REFERER    = @$_SERVER[‘HTTP_REFERER’];$comment=@$_POST[‘comment’];if (empty($comment)) {?><form name=»frmcomment» method=»post» ONSUBMIT=»SendComment();return false;»>Имя: <input type=»text» name=»name» size=18 value=»<?=$u_name?>» />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E-mail:<input type=»text» name=»mail» size=18 value=»<?=$u_mail?>» title=»Защищен от спама» /><br /><textarea name=»comment» rows=»4″ style=»width:100%»></textarea><INPUT TYPE=»SUBMIT» VALUE=»Поделиться мыслями»  class=»submit» /><input type=»hidden» name=»url» value=»<?=substr($HTTP_REFERER,strlen(«http://».$_SERVER[‘SERVER_NAME’]))?>» /></form><span id=»answer»></span><?exit; }$logfile=$_SERVER[‘DOCUMENT_ROOT’].»/log/comment.txt»; if(!isset($add_mes) && is_file($logfile)){   $t=((int)((time()-filemtime($logfile))));   if($t<60){echo «Нельзя отправлять сообщения чаще, чем раз в минуту!»;exit;}   }// при запросе через ajax всё всегда передается в UTF-8 $u_name=@iconv(«UTF-8», «windows-1251//IGNORE», $u_name);$comment=@iconv(«UTF-8», «windows-1251//IGNORE», $comment);// Вы можете добавить защиту от спамеров, но не забудьте при отправке формы через Ajax устанавливать поле referer//if (!isset($HTTP_REFERER) || (strpos($HTTP_REFERER, «htmlweb.ru») === false)  )die(‘Запрос из вне сайта!’);// отправляем сообщение админу сайта$body=date(«d.m.Y H:i», time()).»\n».$_SERVER[‘REQUEST_URI’].»\nИмя: «.$u_name.»\nMail:».$u_mail.»\nip:».$ip.»\n».$comment.»\n»;    // сообщение администраторуfile_put_contents ( $logfile, $body.»\r\n» , FILE_APPEND);if(mail(«admin@».$_SERVER[‘SERVER_NAME’], «Сообщение из «.$HTTP_REFERER, $body, «From: <«.$u_mail.»>\nContent-Type: text/plain; charset=windows-1251″))    echo «Спасибо, Ваше сообщение отправлено!»;else    echo «К сожалению, отправка сообщения не удалась!»;// добавляем сообщение на страницу  $file_name=$_SERVER[‘DOCUMENT_ROOT’].$url; // адрес страницы  if(file_exists($file_name)){    if(!empty($u_name)){$body=htmlspecialchars($u_name);      if(!empty($u_mail))$body=»<a href=» title=’e-mail’ onclick=\»this.href=’mailto:».$u_mail.»‘\»><b>».$body.'</b></a>’;      }else $body=»;    $body='<span class=»time»>’.date(«d.m.Y H:i», time()).$comment.'</span>’.$body;    $body.=»<br />\n».nl2br(AddBB(htmlspecialchars($comment))).»\n»;    $body='<div class=»comment»>’.$body.»</div><br />»;    // добавляем в конец    // на самом деле, желательно вставлять в какое-то определенное место.    file_put_contents ( $file_name, «\r\n».$body.»\r\n» , FILE_APPEND);    } else die(‘Не удалось добавить комментарий в ‘.$file_name);function AddBB($comment) {// делаем ссылки активными$comment = preg_replace(«/\s(([a-zA-Z]+:\/\/)([a-z][a-z0-9_\..-]*[a-z]{2,6})([a-zA-Z0-9\/*-?&%]*))\s/i», » <a href=\»$1\» target=_blank>$3</a> «, $comment);$comment = preg_replace(«/\s(www\.([a-z][a-z0-9_\..-]*[a-z]{2,6})([a-zA-Z0-9\/*-?&%]*))\s/i», » <a href=\»http://$1\» target=_blank>$2</a> «, $comment);// можно сделать преобразование BB-кодов// пример смотри на http://htmlweb.ru/php/example/bb_code.php// можно совсем удалять все теги//$comment=strip_tags($comment);return $comment;}function param($param) {  $param=(isset($_GET[$param])?$_GET[$param]:(isset($_POST[$param])?$_POST[$param]:false));  if (get_magic_quotes_gpc()) $param=stripslashes($param);  return $param;}?> 

Имеются три селекта: страна>регион>город при выборе страны подгружается список регионов, при выборе региона подгружается список городов, а при выборе города нужно делать переход на страницу index.php?country=RU®ion=2&city=3 тоесть с теми значениями, которые были выбраны в трёх селектах, по ним нужно сделать переход на страницу.<?php/* Выбор страна, регион, город с использованием технологии AjaxВзято http://htmlweb.ru/ajax/example/region.phpРазрешается использование в любых своих разработках.Размешение кода в открытом доступе разрешается только с сохранением активной ссылки на источник.Все остальные права принадлежат Колесникову Дмитрию Геннадьевичу.Полная платная версия с базой доступна по запросу на WMID 467585298788, E-Mail kdg@htmlweb.ru, ICQ 17754093.*/define(«db_prefix»,»geo_»);function sql($query) {$res=mysql_query ( $query );if(!$res)die(«Запрос:\n».$query.»\n»);return $res;}// capital — ссылка на город столица государства// telcod — телефонный код страныsql(‘CREATE TABLE IF NOT EXISTS ‘.db_prefix.’country (        id INT UNSIGNED NOT NULL AUTO_INCREMENT,        PRIMARY KEY ( id ),        name VARCHAR(64) NOT NULL UNIQUE,        fullname VARCHAR(64) NOT NULL,        english VARCHAR(64) NOT NULL,        country_code2 CHAR(2) NOT NULL,         country_code3 CHAR(3) NOT NULL,         iso CHAR(3) NOT NULL,         telcod CHAR(4) NOT NULL,        location ENUM(«Азия», «Океания», «Европа», «Африка», «Антарктика», «Америка»),        capital INT UNSIGNED NOT NULL        ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin’);// capital — ссылка на город, обласной центрsql(‘CREATE TABLE IF NOT EXISTS ‘.db_prefix.’area (        id INT UNSIGNED NOT NULL AUTO_INCREMENT,        PRIMARY KEY ( id ),        name VARCHAR(64) NOT NULL,         okrug VARCHAR(64) NOT NULL,        country INT UNSIGNED NOT NULL,        autocod VARCHAR(12) NOT NULL,        capital INT UNSIGNED NOT NULL        ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin’);sql(‘CREATE TABLE IF NOT EXISTS ‘.db_prefix.’city (        id INT UNSIGNED NOT NULL AUTO_INCREMENT,        PRIMARY KEY ( id ),        name VARCHAR(64) NOT NULL,         area INT UNSIGNED NOT NULL,        telcod CHAR(7) NOT NULL,        latitude FLOAT(10,6),        longitude FLOAT(10,6),        country INT UNSIGNED NOT NULL        ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin’);// ip — начальный IP адрес диаппазона ip-адрессов одного провайдера// count — количество ip-адресовsql(‘CREATE TABLE IF NOT EXISTS ‘.db_prefix.’geo_ip (        ip BIGINT UNSIGNED NOT NULL UNIQUE,        count INT UNSIGNED NOT NULL,        city INT UNSIGNED NOT NULL        ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin’);if(isset($_GET[‘country’])){   echo «<option value=’0′>выбрать регион</option>\n»;   $res = sql(‘SELECT * FROM ‘.db_prefix.’area WHERE country=»‘.addslashes(param(‘country’)).'»‘);   while($row = mysql_fetch_array($res))    echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;   die;       }elseif(isset($_GET[‘region’])){   echo «<option value=’0′>выбрать город</option>\n»;   $res = sql(‘SELECT * FROM ‘.db_prefix.’city WHERE area=»‘.addslashes(param(‘region’)).'»‘);   while($row = mysql_fetch_array($res))    echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;   die;       }elseif(isset($_GET[‘city’])){$city=addslashes(param(‘city’)); LoadGeo();echo «<div style=’border: #C5D3DC 1px solid; padding: 10px; width: 97%;’>Город: <b>». $geo[‘city’].»</b><br />Регион: <b>». $geo[‘region’].»</b><br />Округ: <b>». $geo[‘okrug’].»</b><br />Страна: <b>».$geo[‘country’].»</b><br />Код страны: <b>».$geo[‘country_code2’].»</b><br />Код страны: <b>».$geo[‘country_code3’].»</b><br />Широта: <b>».$geo[‘latitude’].»</b><br />Долгота: <b>».$geo[‘longitude’].»</b><br />Телефонный код страны:<b>».$geo[‘telcod’].»</b><br />Телефонный код города:<b>».$geo[‘country_telcod’].»</b><br />Автомобильный код региона:<b>».$geo[‘autocod’].»</b><br />Столица <b>». $geo[‘capital’].»</b><br />Областной центр <b>». $geo[‘capital’].»</b><br /></div>»;   die;    }function LoadGeo() // для $city заполняет $geo и переменные $region, $country{global $geo, $city, $region, $country;   $res = sql(‘SELECT * FROM ‘.db_prefix.’city WHERE id=’.$city.’ LIMIT 1′);   if($row = mysql_fetch_array($res)){     $geo[‘city’]=$row[‘name’];     $region=$row[‘area’];     $geo[‘city_telcod’]=$row[‘telcod’];     $geo[‘latitude’]=$row[‘latitude’];     $geo[‘longitude’]=$row[‘longitude’];     $res = sql(‘SELECT * FROM ‘.db_prefix.’area WHERE id=’.$region.’ LIMIT 1′);     if($row = mysql_fetch_array($res)){    $geo[‘region’]=$row[‘name’];    $geo[‘okrug’]=$row[‘okrug’];    $geo[‘autocod’]=$row[‘autocod’];    $country=$row[‘country’];    $res = sql(‘SELECT * FROM ‘.db_prefix.’country WHERE id=’.$country.’ LIMIT 1′);    if($row = mysql_fetch_array($res)){       $geo[‘country’]=$row[‘name’];       $geo[‘fullname’]=$row[‘fullname’];       $geo[‘english’]=$row[‘english’];       $geo[‘country_code2’]=$row[‘country_code2’];       $geo[‘country_code3’]=$row[‘country_code3’];       $geo[‘iso’]=$row[‘iso’];       $geo[‘country_telcod’]=$row[‘telcod’];       $geo[‘location’]=$row[‘location’];       }    }     }    }$ip2=ip2long(getenv(‘REMOTE_ADDR’));$f_add=false;if($ip2>0){   $res = sql(‘SELECT * FROM ‘.db_prefix.’geo_ip where ‘.$ip2.’ BETWEEN ip and ip+count LIMIT 1′);   if ($geo = mysql_fetch_assoc($res)) {$city=$geo[‘city’]; LoadGeo();}   }?><div id=’r7′></div><br /><br /><select name=»country» id=»country» onLoad=»this.focus = false;»    onChange=»ajaxLoad(‘region’, ‘/ajax/example/region.php?country=’+this.options[this.selectedIndex].value, »,»,»); document.getElementById(‘region’).disabled=»;»><option value=»0″>выбрать страну</option> <?php$res = sql(‘SELECT * FROM ‘.db_prefix.’country’);while($row = mysql_fetch_array($res)){   if($row[‘id’]==@$country){        echo «<option value='» . $row[‘id’] . «‘ selected=’selected’>» . $row[‘name’] . «</option>\n»;        $country=$row[‘id’];}   else        echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;}?></select><select name=»region» id=»region» <?=(@$country?»:’disabled=»disabled»‘)?>    onChange=»ajaxLoad(‘city’, ‘/ajax/example/region.php?region=’+this.options[this.selectedIndex].value, »,»,»); document.getElementById(‘city’).disabled=»;»><option value=»0″ disabled=»disabled»>выбрать регион</option> <?phpif(@$country){$res = sql(‘SELECT * FROM ‘.db_prefix.’area WHERE country=’.$country);while($row = mysql_fetch_array($res)){   if($row[‘id’]==@$region){        echo «<option value='» . $row[‘id’] . «‘ selected=’selected’>» . $row[‘name’] . «</option>\n»;        $region=$row[‘id’];}   else        echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;   }}?></select><select name=»city» id=»city» <?=(@$region?»:’disabled=»disabled»‘)?>    onChange=»ajaxLoad(‘info’, ‘/ajax/example/region.php?city=’+this.options[this.selectedIndex].value, »,»,»);»> <option value=»0″ disabled=»disabled»>выбрать город</option> <?phpif(@$region){$res = sql(‘SELECT * FROM ‘.db_prefix.’city WHERE area=’.$region);while($row = mysql_fetch_array($res)){   if($row[‘id’]==@$city){        echo «<option value='» . $row[‘id’] . «‘ selected=’selected’>» . $row[‘name’] . «</option>\n»;        $region=$row[‘id’];}   else        echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;   }}?></select><div id=»info»></div><script language=JavaScript><!—function ajaxLoad(obj,url,defMessage,post,callback){  var ajaxObj;  if (defMessage) document.getElementById(obj).innerHTML=defMessage;  if(window.XMLHttpRequest){       ajaxObj = new XMLHttpRequest();   } else if(window.ActiveXObject){       ajaxObj = new ActiveXObject(«Microsoft.XMLHTTP»);    } else {       return;   }   ajaxObj.open ((post?’POST’:’GET’), url);  if (post&&ajaxObj.setRequestHeader)      ajaxObj.setRequestHeader(«Content-Type», «application/x-www-form-urlencoded; charset=windows-1251;»);  ajaxObj.onreadystatechange = ajaxCallBack(obj,ajaxObj,(callback?callback:null));  ajaxObj.send(post);   return false;  } function updateObj(obj, data, bold, blink){    if(bold)data=data.bold();   if(blink)data=data.blink();   document.getElementById(obj).innerHTML = data; // упрощенный вариант, работает не во всех браузерах  } function ajaxCallBack(obj, ajaxObj, callback){return function(){    if(ajaxObj.readyState == 4){       if(callback) if(!callback(obj,ajaxObj))return;       if (ajaxObj.status==200)        updateObj(obj, ajaxObj.responseText);       else updateObj(obj, ajaxObj.status+’ ‘+ajaxObj.statusText,1,1);    }}}//—></script>?> 

Для начала создадим форму ввода регистрационной информации и подключим скрипт из внешнего файла, содержащий необходимые функции (XMLHttpRequest и др.)<script src=»ajax_framework.js» language=»javascript»></script><!— Show Message for AJAX response —><div id=»login_response»></div><!— При отправке формы вызывается функция login() из ajax_framework.js —><form action=»javascript:login()» method=»post»><input name=»emailLogin» type=»text» id=»emailLogin» value=»»/><input name=»pswLogin» type=»password» id=»pswLogin» value=»»/><input type=»submit» name=»Submit» value=»Login»/></form>Обработчик ajax_framework.js:/* ———————— *//* XMLHTTPRequest Enable *//* […]

Step 1: include prototype.js Download prototype.js and create a new page (index.php). Add this line of code in the <head> tag onf index.php to include prototype framework: &lt;script type=»text/javascript» src=»prototype.js»&gt;&lt;/script&gt;Step 2: HTML code for index.php index.php is a simple page with a form like this:<input type=»text» name=»user_name» id=»user_name» /><input type=»submit» name=»button» id=»button» value=»Insert» onclick=»javascript:insertName()»/>…where the input button […]

Поле ввода поискового выражения и <div id=»search-result»> для отображения результатов поиска.Добавьте подключение javascript function в тег <head>:<script language=»javascript» src=»ajax_framework.js»></script>…а следующий код разместите в секции <body>:<h2>Ajax Search Engine</h2><form id=»searchForm» name=»searchForm» method=»post» action=»javascript:insertTask();»><divcolor: rgb(51, 51, 255); «>searchInput»><input name=»searchq» type=»text» id=»searchq» size=»30″ onkeyup=»javascript:searchNameq()»/><input type=»button» name=»submitSearch» id=»submitSearch» value=»Search» onclick=»javascript:searchNameq()»/></div></form><h3>Search Results</h3><div id=»msg»>Type something into the input field</div><div id=»search-result»></div>ajax_framework.js:/* ————————— *//* XMLHTTPRequest […]

Имеются два селекта: марка и модель и переключатель: иностранное или отечественное авто. При выборе значения переключателя подгружается список марок автомобилей, при выборе марки подгружается список моделей, а при выборе модели можно ввести дополнительно год выпуска и/или загрузить некоторую информацию об этом автомобиле.Исходный код примера:<?php/* Выбор марка, модель, год выпуска автомобиля с использованием технологии AjaxВзято http://htmlweb.ru/ajax/example/automarka.phpРазрешается использование в любых своих разработках.Размешение кода в открытом доступе разрешается только с сохранением активной ссылки на источник.Все остальные права принадлежат Колесникову Дмитрию Геннадьевичу (kdg@htmlweb.ru, ICQ 17754093).*/require_once($_SERVER[‘DOCUMENT_ROOT’].’/config.php’);CREATE TABLE IF NOT EXISTS pb_marka (  id        int(10) unsigned NOT NULL auto_increment,  `name`    char(64) collate cp1251_bin NOT NULL,  product    tinyint(3) unsigned NOT NULL,  PRIMARY KEY (id)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin;CREATE TABLE IF NOT EXISTS pb_model (  id        int(10) unsigned NOT NULL auto_increment,  marka        int(10) unsigned NOT NULL,  `name`    char(64) collate cp1251_bin NOT NULL,  PRIMARY KEY (id)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin;if(isset($_GET[‘product’])){   $product=$_SESSION[‘product’]=intval($_GET[‘product’]); // 1-импортная   echo ‘<option value=0 selected>Выберите марку</option>’;   $res = sql(‘SELECT * FROM ‘.db_prefix.’marka WHERE product=’.$product.’ ORDER by name’);   while($row = mysql_fetch_array($res))    echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;   exit;    }elseif(isset($_GET[‘marka’])){   $marka=$_SESSION[‘marka’]=intval($_GET[‘marka’]);   $res = sql(‘SELECT * FROM ‘.db_prefix.’model WHERE marka=’.$marka.’ ORDER by name’);   /* todo if(mysql_num_rows($res)>1) */ echo ‘<option value=0 selected>Выберите модель</option>’;    while($row = mysql_fetch_array($res))        echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;   exit;    }elseif(isset($_GET[‘model’])){    $id_model=intval(param(‘model’));    $res = sql(‘SELECT * FROM ‘.db_prefix.’model WHERE id=’.$id_model.’ LIMIT 1′);    if(!($row = mysql_fetch_array($res)))die;    $model=$row[‘name’];    $id_marka=intval($row[‘marka’]);    $res = sql(‘SELECT * FROM ‘.db_prefix.’marka WHERE id=’.$id_marka.’ LIMIT 1′);    if(!($row = mysql_fetch_array($res)))die;    $marka=$row[‘name’];    $product=intval($row[‘product’]);echo «<div style=’border: #C5D3DC 1px solid; padding: 10px; width: 97%;’>производитель=<b>».($product==1?’ импортное ТС’:’отечественное ТС’).»</b><br/>марка=<b>».$marka.»</b><br/>модель=<b>».$model.»</b></div>»;   mysql_close();   die;    }$script=@$_SERVER[‘SCRIPT_URL’]; if(!$script)$script=@$_SERVER[‘REQUEST_URI’];$_SESSION[‘marka’]=$_SESSION[‘model’]=0;$_SESSION[‘product’]=1;?><table border=»0″ cellspacing=»0″ cellpadding=»5″ align=»center»><tr><td width=»250″>Производитель транспортного средства (ТС) <td><input type=»radio» CHECKED value=»1″ name=»product»    onClick=»ajaxLoad(‘marka’, ‘<?=$script?>?product=’+this.value, »,»,»); «>&nbsp;Иностранное ТС<br><input type=»radio» value=»2″ name=»product»    onClick=»ajaxLoad(‘marka’, ‘<?=$script?>?product=’+this.value, »,»,»); «>&nbsp;Отечественное ТС<br><td width=»250″>&nbsp;<tr><td colspan=»3″ class=»blank»><tr><td id=»markat»>Марка ТС<td><select style=»WIDTH: 200px; height:21″ name=»marka» id=»marka» onLoad=’this.focus = false;’ onChange=»getObj(‘model’).disabled=»; ajaxLoad(‘model’, ‘<?=$script?>?marka=’+this.options[this.selectedIndex].value, »,»,»);»>    <option value=0 selected>Выберите марку</option><?$res = sql(‘SELECT * FROM ‘.db_prefix.’marka WHERE product=1 ORDER by name’);while($row = mysql_fetch_array($res))   echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;?></select><tr><td colspan=»3″ class=»blank»><tr><td id=»modelt»>Модель ТС<td><select style=»WIDTH: 200px; height:21″ name=»model» id=»model» <?=(@$marka?»:’disabled=»disabled»‘) ?>  onChange=»ajaxLoad(‘info’, ‘<?=$script?>?model=’+this.options[this.selectedIndex].value, »,»,»);» >    <option value selected disabled=»disabled»>Выберите модель</option></select><tr><td colspan=»3″ class=»blank»><tr><td id=»explt»>Год выпуска ТС<td><select style=»WIDTH: 200px; height:21″ name=»expl»>    <option value selected>Выберите значение</option><? for($i=0;$i<=15;$i++) echo «<option value='».$i.»‘>».(intval(date(«Y»))-$i).»</option>\n»;?></select></table><div id=»info»></div><script language=JavaScript><!—function getObj(objID){    if (document.getElementById) {return document.getElementById(objID);}    else if (document.all) {return document.all[objID];}    else if (document.layers) {return document.layers[objID];}}function ajaxLoad(obj,url,defMessage,post,callback){  var ajaxObj;  if (defMessage) document.getElementById(obj).innerHTML=defMessage;  if(window.XMLHttpRequest){       ajaxObj = new XMLHttpRequest();   } else if(window.ActiveXObject){       ajaxObj = new ActiveXObject(«Microsoft.XMLHTTP»);    } else {       return;   }   ajaxObj.open ((post?’POST’:’GET’), url);  if (post&&ajaxObj.setRequestHeader)      ajaxObj.setRequestHeader(«Content-Type», «application/x-www-form-urlencoded; charset=windows-1251;»);  ajaxObj.onreadystatechange = ajaxCallBack(obj,ajaxObj,(callback?callback:null));  ajaxObj.send(post);   return false;  } function updateObj(obj, data, bold, blink){    if(bold)data=data.bold();   if(blink)data=data.blink();   document.getElementById(obj).innerHTML = data; // упрощенный вариант, работает не во всех браузерах  } function ajaxCallBack(obj, ajaxObj, callback){return function(){    if(ajaxObj.readyState == 4){       if(callback) if(!callback(obj,ajaxObj))return;       if (ajaxObj.status==200)        updateObj(obj, ajaxObj.responseText);       else updateObj(obj, ajaxObj.status+’ ‘+ajaxObj.statusText,1,1);    }}}//—></script>?> 

Пример демонстрирует универсальный код работы с кешем для Internet Explorer и Firefox. Этот пример обеспечивает посылку «If-Modified-Sinse»-заголовка IE при обращениях к закешированному запросу.Исходный код этого примера:<script type=»text/javascript»><!—/* Пример демонстрирует универсальный код работы с кешем для Internet Explorer и Firefox.Этот пример обеспечивает посылку «If-Modified-Sinse»-заголовка IE при обращениях к закешированному запросу.Используется функция getAjaxObj */function getAjaxObj(){if(window.XMLHttpRequest){ return new […]