Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как с помощью XMLHttpRequest загрузить xml с др. с 
:(
    Опции темы
Aikus
Дата 21.1.2008, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 29.11.2007

Репутация: 1
Всего: 1



В общем, надо сделать модуль, чтоб он загружал xml с др. сервера и интерпретировал, задачу осложняет, то что собственный серв не может загружать др. страницы, вообще ни какие не может.
Вот вопрос: а можно ли как то сделать это с помощью js?
PM MAIL   Вверх
Sardar
Дата 21.1.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



В ИЕ (и по моему в Safari) просто добавив твой сайт в список "доверяемых". В мозиле можно подписать скрипт и попросить UniversalBrowserRead (долго, муторно, пользователя достанет вопросами).

Прокси жаль отменяется, ИМХО самый браузерно-независимый способ. Можно загрузить ифрейм с хоста, куда хотим посылать запросы, в обоих окнах выставить document.domain в единый домен. В самом ифрейме можно делать XMLHttpRequest запросы на сервер откуда пришли, но из-за выставленного document.domain - мы можем передавать инфу родительскому окну. Так можно опрашивать массу серверов.

Опросить просто произвольный сервер (который даже не знает о твоём существовании) по моему не реально. Можно спросить у гугла: cross-domain XMLHttpRequest, XHR.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aikus
Дата 21.1.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 29.11.2007

Репутация: 1
Всего: 1



Цитата(Sardar @  21.1.2008,  13:31 Найти цитируемый пост)
Можно спросить у гугла: cross-domain XMLHttpRequest

спросил, он говорит, что такое можно, но только в огненной лисе.
Мои опыты показали, что по быстрому такое на всех браузерах не получится (как выше сказали, в iframe из него в основное окно, т.е. напряжно, а главное увеличивается отправляемый код пользователю). Сейчас хочу узнать: на каких условиях хостеры откроют сокеты из скриптов.

Это сообщение отредактировал(а) Aikus - 21.1.2008, 14:15
PM MAIL   Вверх
smartov
Дата 21.1.2008, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Sardar, а можно маленький пример по dicument.domain интересует последовательность когда и что выставлять.
Т.е. предположим у меня страничка index.html на моем хостинге www.myhosting.ru. И мне надо с нее обратиться к www.otherhost.com/ajax.php?request=50
Как это верно сделать через iframe.
Вот так?

Код


<iframe id="myFrame" src="www.otherhost.com"></iframe>

...

<script type="text/javascript">

window.onload = function () {
    document.domain = 'myhosting.ru'
    document.getElementById('myframe').document.domain = 'myhosting.ru';
    document.getElementById('myframe').src = 'www.otherhost.com/ajax.php?request=50';
}

</script>


PM MAIL   Вверх
AKS
Дата 21.1.2008, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(smartov @  21.1.2008,  18:23 Найти цитируемый пост)
Вот так?

Если верить "докам", то так ничего не должно получиться:

PM MAIL   Вверх
Sardar
Дата 21.1.2008, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(smartov @  21.1.2008,  17:23 Найти цитируемый пост)
document.getElementById('myframe').document.domain = 'myhosting.ru';

Нельзя, тот скрипт должен установить его, это как контракт, что оба документа с единого хоста.

Есть:
  • my.domain.ru/index.htm - основное окно, устанавливает домен в domain.ru (не уверен сработает ли просто "ru"). Поставить произвольный домен нельзя
  • other.domain.ru/frame.htm - подгружается во фрейм основного окна, тоже устанавливает document.domain = "domain.ru". Оповещает window.parent о своём прибытии.
  • основное окно имеет доступ до фрейма, а фрейм имеет доступ до своего хоста (и наоборот).
Далее во фрейме делаем любой запрос "к себе" и отдаём инфу родительскому окну.

На вообще произвольный домен обратится нельзя, не безопасно, но чую в ближайшие пару лет чего нибудь придумают как расширение. Также интересно как поведёт себя браузер, если свой сервер в ответ на XMLHttpRequest запрос отдаст редирект на чужой домен, может всё таки "унаследовать" родительские права... smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
smartov
Дата 21.1.2008, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Sardar, ясно, спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0651 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.