Поиск по блогу

вторник, 23 марта 2010 г.

Польза от исследования кода в разных браузерах

Поделюсь наблюдением: не следует забывать про разные браузеры на этапе исследования кода страницы. Иногда может случиться так, что обход косяков IE, который вебмастеру приходится отдельно предусматривать, может натолкнуть на решение вашей проблемы.

Пример: требуется скачивать видео-ролики с сайта со встроенным плеером. Плеер самописный, прямой ссылки на проигрываемый файл в коде страницы нет.

Пример страницы: http://med-edu.ru/basic-science/biohim/shnol1/262. При клике на заставку открывается плеер, в котором можно посмотреть и видео, и слайды презентации:

parsing video

В Goodle Chrome находим javascript-функцию, отвечающую за показ видео. Не очень очевидно, не правда ли? :)

function loadVideo() {

scroll(0,0);

darDiv.id = 'darkDiv';
newDiv.id = 'divVideo';
newDivCont.id = 'contVideo';

document.body.appendChild(darDiv);
document.body.appendChild(newDiv);
newDiv.appendChild(newDivCont);

so = new SWFObject("/pl/player7v_n_api_y.swf", "sotester", "1047", "711", "8", "0");
so.addVariable("xml_php", "/");
so.addVariable("php_seek", "http://www.medvideo.org/video/flvid/");
so.addVariable("id", "262");
so.addParam("scale", "noscale");
so.addParam("salign", "ct");
so.addParam("bgcolor", "#333333");
so.addParam("wmode", "transparent");
so.addParam("allowFullScreen", "true");
so.write("contVideo");
}


А вот как та же самая функция loadVideo выглядит в никем не любимом IE:

function loadVideo() {
scroll(0,0);
$("body").prepend('<div id="embedplayer" style="position: absolute; z-index: 99; top: 10px; width: 100%;" align="center">
<embed width="1047" height="711" flashvars="xml_php=/xml.php?id=262&amp;php_seek="
allowfullscreen="true" wmode="transparent" salign="ct" scale="noscale" quality="high" bgcolor="#333333" name="video" id="123" style=""
src="/pl/player7v_n_api_y.swf" type="application/x-shockwave-flash" base="/"/></div>');
$("body").prepend('<div id="darklayer" style="position: absolute; z-index: 98; width: 100%; height: 1300px;
background: none repeat scroll 0 0 #444444; filter:alpha(opacity=60); -moz-opacity: 0.6; opacity: 0.6;"></div>');
}


Итак, стало все намного очевиднее, flashvars открывают завесу тайны :)

Заходим по ссылке http://med-edu.ru/xml.php?id=262 и видим:
parsing xml src video

То есть непосредственно нужный нам файл с видео имеет такой адрес:
http://www.medvideo.org/video/flvid/00000178.flv.

Ну и, соответственно, для скачивания других роликов с этого сервиса алгоритм определился:
- узнаем id видео (парсингом исходного кода страницы)
- загружаем xml.php?id=...
- парсим полученный xml и находим значение атрибута File.

Удачи в исследованиях! :)
___

Чтобы быть в курсе обновлений блога, можно подписаться на RSS.

Статьи схожей тематики:



Комментариев нет:

Отправить комментарий

Комментарии модерируются, вопросы не по теме удаляются, троллинг тоже.

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

Поделиться