Teasernet без iframe и js

Тема в разделе "Как сделать...", создана пользователем vanderv, 4 янв 2012.

  1. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    267
    Симпатии:
    12
    вот сайт

    На этом сайте тизеры подгружаются не в iframe и без сторонних js файлов... А просто ajaxом делается запрос на /adv/ и ответ вставляется в сайт. как это они организовали? Пытался связаться с админом - молчит. Да и врятли он раскроет карты. Может кто подскажет алгоритм такой фишки?
     
  2. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    Код:
    <script type="text/javascript" charset="utf-8" src="//yandex.st/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript">
            function downloadJSAtOnload() {
                var element = document.createElement("script");
                element.type = 'text/javascript';
                element.src = '/media/js/combined.3.js';
                document.body.appendChild(element);
            }
     
            if (window.addEventListener)
                window.addEventListener("load", downloadJSAtOnload, false);
            else if (window.attachEvent)
                window.attachEvent("onload", downloadJSAtOnload);
            else window.onload = downloadJSAtOnload;
        </script>
    ################################################
    $('.advert').each(function(index) {
    var tid = $(this).attr('id');
    jQuery.ajax({
    type: 'POST',
    url: '/adv/',
    data: 'block_id=' + tid + '&referrer=' + document.referrer,
    success: function(html) {
    $('#' + tid).append(html);
    }
    });
    });
    });
        
    изучай исходный код там все видно :) Jquery + Ajax ну а в adv скрипт который на основании данных запроса выдает html
     
  3. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    267
    Симпатии:
    12
    Вы не поняли - вопрос не в том как они делают ajax запрос, а в том как они извлекли тизеры? они как-то парсят эти тизеры, так как если смотреть на код то должны быть таблицы, а у них они заключены в списки (ul). Мне бы понять алгоритм построения этих тизеров я бы тоже их спарсил.
     
  4. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    да ничего они не парсят система примерно такая на сайте имеется div c классом advert и id JQuery вытаскивает данные об id посылает их POST запросом скрипту расположенному по адресу /adv/ а тот выдает html код тизеров вот этот код подставляется jquery вместо дива вот и вся система
    PHP:
    $('.advert').each(function(index) { //находим див с классом advert
    var tid = $(this).attr('id'); //тянем id
    jQuery.ajax({
    type'POST',
    url'/adv/',
    data'block_id=' tid '&referrer=' document.referrer//отправляем POST запрос
    success: function(html) {  //получили html
    $('#' tid).append(html);  //вставляем в <div class=advert id=1111></div> полученный  html
    а почему вы решили что там таблицы должны быть? но если говорить про парсинг то надо смотреть что грузится в коде (фреме или в js) тизера и полученный код распарсивать (если есть такая необходимость)
     
  5. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    267
    Симпатии:
    12
    Возможно. То что они перебирают все дивы это я знал. Для меня это совсем не сложно.


    http://gigporno.ru/ вот внизу идет teasernet без вмешательства. И он выводится в iframe, подгружаются сторонние js + там таблицы.

    И посмотрите на алгоритм вывода тизеров и вы поймете, что здесь не все так просто как кажется.... Хотя я и не так сложно.

    P.s. Я уже почти сделал=) круто!
     
  6. Slam

    Slam Создатель

    Регистр.:
    10 фев 2012
    Сообщения:
    10
    Симпатии:
    2
    И что у Вас получилось? Могли бы поделится?
     
  7. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    267
    Симпатии:
    12
    там обычный xml. Надо у ТП запрашивать. На бодиклик это сразу открыто.