schegloff ([info]schegloff) wrote,
@ 2006-11-16 14:46:00


7 replies, 4 authors
Хачу помощь по JavaScript!
Заранее пардон, если прошу невозможного. Но заело, вчера несколько часов убил на поиск решения.

Есть в Сети бесплатные картинки http://futures.tradingcharts.com/menu.html американских фьючерсов на всякие полезные товары. Хочется мне оттуда вытащить не только картинки, но и численные значения котировок, которые там есть - в одном из 10 JavaScript-блоков. Подгружается оный блок, естественно, динамически, т.е. тупо по URL без браузера не цепляется.

Попытка открыть окошко с графиком как дочернее (javascript tdWin=window.open("...")) напоролась на защиту безопасности - отцовское окно сидит в домене "мой винт", а дочернее - в домене "трейдингчартс", и потому обращения типа tdWin.document.getЧегоТоТамById нарываются на ошибку "нет доступа" из-за междоменного перехода.

Полазил по форумам, там сплошь разработчики "серверной" стороны, у которых отцовские и дочерние домены совпадают. А мне с домашнего компа надо!

Если кто чего подскажет, буду очень благодарен.


[info]vythe
2006-11-16 10:45 am UTC (link)
Могу предложить только сделать локальный хтмл-файл с фреймом внутри. (frameset... frame src="myothersite.com") и открывать в новом окошке этот локальный файл. Должно помочь.

(Reply to this) (Thread)


[info]vythe
2006-11-16 10:51 am UTC (link)
Вдогонку: использование дополнительных окошек на сайте - вообще крайне сомнительная практика. Лично у меня в IE безопасность про такие скрипты дважды переспрашивает, прежде чем запустить. А в файрфоксе всплывающие окошки вообще отключены.

(Reply to this) (Parent)


[info]ilih
2006-11-16 07:12 pm UTC (link)
решение в лоб поставить денвер http://www.denwer.ru/ создать в денвере сервер, например tc (путь к денверу/home/tc/www) распаковать в tc/www php-proxy http://www.sourceforge.net/projects/poxy/ создать в папке tc/www файл fake.php в него записать <? $url = (isset($_GET['url'])) ? $_GET['url'] : 'http://futures.tradingcharts.com'.$_SERVER['REQUEST_URI']; echo file_get_contents($url); ?> создать в папке tc/www файл .htaccess в него записать ErrorDocument 404 /fake.php файл с родительским окном перенести туда же(в папку к fake.php и прокси) и писать в виде tdWin=window.open('http://tc/index.php?q=http%3A%2F%2Ffutures.tradingcharts.com%2Fmenu.html&hl=1111100001');

(Reply to this) (Thread)


[info]ilih
2006-11-16 07:13 pm UTC (link)
переносы строк поехали (((

решение в лоб поставить денвер http://www.denwer.ru/
создать в денвере сервер, например tc (путь к денверу/home/tc/www)

распаковать в tc/www php-proxy http://www.sourceforge.net/projects/poxy/

создать в папке tc/www файл fake.php
в него записать
<? $url = (isset($_GET['url'])) ? $_GET['url'] : 'http://futures.tradingcharts.com'.$_SERVER['REQUEST_URI']; echo file_get_contents($url); ?>

создать в папке tc/www файл .htaccess
в него записать
ErrorDocument 404 /fake.php

файл с родительским окном перенести туда же(в папку к fake.php и прокси)

и писать в виде
tdWin=window.open('http://tc/index.php?q=http%3A%2F%2Ffutures.tradingcharts.com%2Fmenu.html&hl=1111100001');

(Reply to this) (Parent)


[info]kr214
2006-11-17 04:52 am UTC (link)
javascript или java? Во втором случае -- оно скомпилировано.

Аналогично, с подобной проблемой нашел только то, что современные браузеры запрещают открытие не с парентного хоста. Проблема решалась так -- самописный прокси-сервер, который при пропуске сквозь себя, отлавливал нужные мне файлы и обрабатывал.

То есть, в браузере я авторизировался и прочия, а прокси-HTTP только отлавливал информацию.

(Reply to this) (Thread)


[info]kr214
2006-11-17 04:54 am UTC (link)
опоздал ^_^ выше уже отписали, даже по пунктам

(Reply to this) (Parent)

Резюме:
[info]schegloff
2006-11-17 04:57 am UTC (link)
Опять денвер запускать, значит... Только убрал из автозагрузки :(
Попробую, доложу о результате. Всем спасибо!

(Reply to this)