Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > JS DOM - вытягивание контента с другого сайта


Автор: vxd 5.11.2006, 12:23
Сорри заранее, если не туда запостил.

Вообщем, суть какая. Есть сайты: A, B, C. Необходимо сделать следующий переходник на javascript:

Конечный пользователь заходит на сайт "B". Как только он зашёл на "B", ява-скрипт тянет html-код сайта "C". И отображает это дело юзеру (как будто он на сайте "C"). Пока всё это дело делается, юзер видел либо белый экран с прогресс-баром, либо что-нибудь крутящееся посередине окна (прогресс-бар) Паралельно с показом юзеру, этот же скрипт как-то пакует уже полученный html (если такая возможность есть - gzip, или что-то типа этого - я не разбираюсь) и отправляет на сайт "A". Через секунду обращается на сайт "A" и получает другой HTML. Как только он его получил, то опять же отображает конечному пользователю. Отображает - заменяет весь innerHTML, но чтобы у юзера на экране не было никаких рывков.

Собственно, нужно элегантное готовое решение. Именно на javascript или VBscript - короче, на стороне клиента. Готов заплатить разумную цену за всё это добро.

Плз, если есть какие-то идеи по реализации или уже готовые работы - плз высылайте на webmoney2k[[@]]gmail.com

Автор: vasac 5.11.2006, 13:28
На одном клиенте это сделать невозможно.
Только если заплатишь разумную цену разработчикам браузеров, чтобы они убили в них элементарную политику безопастности.
Да и вообще ты что-то нехорошее затеваешь, видимо.

Автор: vxd 5.11.2006, 15:21
Ничего нехорошего не затеваю, просто интересный сервис крутится в голове smile

На счёт невозможного - это называется remote scripting. Вот подробная инфа: 

http://www.ashleyit.com/rs/jsrs/test.htm
http://www.ashleyit.com/rs/rslite/
http://msdn.microsoft.com/library/en-us/rmscpt/Html/rmscpt2.asp?frame=true

Вот пример:
http://developer.apple.com/internet/webcontent/iframe.html
внизу выбираем zip-код, а ява-скрипт вытащит html с удалённого сервера, отпарсит его и выведет на экран.

Софт можно сказать средней сложности, если учесть мои пожелания.

Так же это можно выполнить на сервлете.

Автор: 12345c 6.11.2006, 01:03
Точнее, это называется  cross-site scripting (XSS), на этом делают атаки для кражи паролей и других данных через дыры в безопасности. Поэтому его на уровне политики безопасности бр-ра запрещают.  Можно отключить в настройках, но тогда теряется защищённость компьютера от XSS. Грамотно - разрешают только для trusted sites или для intranet. Всерьёз никто не будет поддерживать, потому что в таком режиме наверняка найдётся ещё массса дыр. Рекомендую перестроить задачу, как все делают - иметь сервер трансляции сайтов. Он читает и даёт клиенту содержимое от себя. Но и то, сомнительные сайты тут же будут использовать Х.

Автор: JSman 7.11.2006, 11:12
неужели думаете что это невозможно выполнить в скрипте?   smile  посмотрим, пока еще мне не писали ничего. если заказа не поступит, то выложу для интереса на форуме. 

Автор: 12345c 7.11.2006, 11:25
"Возможно" - это когда во всех бр-рах, с установками по умолчанию.

Автор: JSman 7.11.2006, 18:19
зачем все браузеры? в конторах стоит ослик и им пользуются. вот в этом и фишка. можно веселую авантюру замутить)))

Автор: 12345c 7.11.2006, 18:52
Да, в нём есть способ, с одним популярным объектом. Не знаю, как невалидный HTML он будет принимать.

Автор: sergejzr 7.11.2006, 19:03
Модератор: Так как тема попахивает нелегалом, прошу уточнить "интересный сервис"

Автор: JSman 7.11.2006, 19:30
то, что я представляю, это не совсем нелегально smile вопрос как им воспользутся человек. 

Автор: vxd 7.11.2006, 23:40
JSman, чекни мыло.


sergejzr, Поймите правильно, это идея, которую я не хотел бы разглашать. Никакого нелегала не приследуется. Грубо говоря, это сервис в помощь пользователям. Связано с переводами.

Было бы нелегально - давно бы уже сделал решение на пхп с участием сервера - это 3 строки на курле.

Автор: JSman 7.11.2006, 23:45
все понял. жду письма. на время это го сообщения ничего не было. моя аська - 29 345 98 53

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)