| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Internet Explorer 8: XDomainRequest
Новый Internet Explorer 8 (IE8) принес с собой одно приятное нововведение, призванное, как когда-то это сделал XMLHttpRequest, облегчить жизнь программистам и дать бОльшие возможности для взаимодействия с пользователем. Напомню, что XMLHttpRequest может работать при условии, что запрашиваемый документ и страница, с которой направлен запрос, должны быть в одном домене. Например, страницы с кодом запроса XMLHttpRequest и запрашиваемый XML файл.
Автор: Landgraph
http://www.landgraph.ru/ ВведениеНовый Internet Explorer 8 (IE8) принес с собой одно приятное нововведение, призванное, как когда-то это сделал XMLHttpRequest, облегчить жизнь программистам и дать бОльшие возможности для взаимодействия с пользователем. Напомню, что XMLHttpRequest может работать при условии, что запрашиваемый документ и страница, с которой направлен запрос, должны быть в одном домене. Например, http://www.landgraph.ru/test/test_xml.html - страницы с кодом запроса XMLHttpRequest и http://www.landgraph.ru/test/test_xml.xml - запрашиваемый XML файл. Новой «фишкой» восьмой версии IE8 является интерфейс XDomainRequest (IHTMLXDomainRequest), с помощью которого, в отличие от XMLHttpRequest, можно делать запросы к различным доменам. Другими словами, страница с кодом XDomainRequest может находиться по адресу http://www.landgraph.ru/test/test.htmll, а запрашиваемая страница – http://www.google.com/. Описание XDomainRequestРассмотрим структуру интерфейса. Основные элементы интерфейса, необходимые для работы, отмечены жирным шрифтом.. СвойстваКаждый объект XDomainRequest имеет следующие свойства:
СобытияОбъект XDomainRequest может порождать следующие события:
МетодыВсе объекты XDomainRequest обладают следующим набором методов:
ИспользованиеОтправка запросаТеперь перейдем к программированию. Все примеры написаны на языке JavaScript. Проверить наличие XDomainRequest можно просто:
В принципе, все точно так же, как и при работе с XMLHttpRequest. Создать объект интерфейса можно с помощью следующего кода:
Теперь необходимо открыть соединение с сервером. Сделать это можно с помощью метода open:
В данном случае мы указываем метод GET передачи запроса. Далее следует отослать запрос с помощью метода send:
При этом, мы можем и не передавать данные, а вызвать метод без параметров:
Всё. На этом передача данных завершается. Итого у нас получился следующий код:
Получение данныхПрактически всегда необходимо также получить данные от сервера. Сделать это можно, если установить обработчик события onload объекта. Напомню, что событие onload происходит, когда данные от сервера получены в полном объеме.
Например, следующий код выводит полученные данные в виде сообщения:
Обработка ошибокНе секрет, во время работы происходят те или иные ошибки. И лучше пользователю либо узнать об их появлении, либо обработать самостоятельно. Пока что мы можем обработать только два вида ошибок: превышение времени ожидания ответа сервера и все остальные ошибки. Первые обрабатываются через событие ontimeout, вторые через событие onerror. Пример:
Требования к серверуПри использовании интерфейса XDomainRequest, веб-серверу направляется запрос, в заголовке которого присутствует поле XDomainRequest: 1 При получении подобного запроса, сервер обязательно должен установить поле заголовка ответа XDomainRequestAllowed: 1 Иначе пользователь получит сообщение об ошибке! Ниже пример рабочего скрипта PHP, с помощью которого вы всегда можете проверить работоспособность своего детища. Для тестирования вы также можете воспользоваться страницей, постоянно расположеной по адресу http://www.landgraph.ru/test/test_xdr.php.
ОграниченияКак и везде, из соображений безопасности, есть ограничения. При использовании XDomainRequest протокол страницы, с которой идет запрос, и протокол загружаемой страницы должны быть идентичны. Другими словами, если вы открываете сохраненный на вашем локальном компьютере документ, то его протокол – file://, а внутри документа есть запрос к странице в Интернете по протоколу http://, то этот запрос не будет выполнен. Следующая таблица показывает, какие возможны комбинации страниц, с которых разрешен доступ с помощью интерфейса XDomainRequest в другие зоны безопасности.
Из таблицы видно, что страницы, расположенные локально (http://localhost/) имеют выход на все узлы, кроме ограниченных политикой безопасности. Как видите, через Интернет могут взаимодействовать любые узлы, кроме ограниченных текущей политикой безопасности. Рубрика: AJAX
Вышел MySQL 5.1.30, первый стабильный рели....
После публикации 29 тестовых версий анонсирован первый стабильный релиз MySQL 5.1, пригодный для промышленной эксплуатации и обеспечивающий увеличение производительности для "тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные новшества появившиеся в MySQL 5.1:
Подробнее... |
Рубрика: MySQL
| Добавлено: 28.11.2008
Тестирование параллельных программ.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
Подробнее... |
Рубрика: Тестирование
| Добавлено: 28.11.2008
Архитектура AMD64 (EM64T).
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.
Подробнее... |
Рубрика: Архитектура AMD
| Добавлено: 27.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|