Js получение содержимого чужого сайта

Тема в разделе "JavaScript", создана пользователем Ser Frood, 28 мар 2012.

Модераторы: ZiX
  1. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    522
    Симпатии:
    386
    Народ это возможно сделать JS запросом (без вмешательств php)? примерно нужно получить на js страницу яндекса и зменить там пару ссылок и вбить в div! если это возможно то ткните пальцем! пасиб!
     
  2. shaen

    shaen Постоялец

    Регистр.:
    23 июн 2011
    Сообщения:
    51
    Симпатии:
    9
    Не знаю насколько это Вам подойдет но посмотрите

    http://fancybox.net/

    там примеры правда используется (iframe) но при большом желании можно адаптировать под вашу задачу.
     
  3. shaen

    shaen Постоялец

    Регистр.:
    23 июн 2011
    Сообщения:
    51
    Симпатии:
    9
    Код:
    jQuery.extend(
     
    {
     
    /**
     
    * Get ajax body
     
    *
     
    * @return ajax content
     
    */
     
    getAjaxBody : function(responseText)
     
    {
     
    var bodyStart = responseText.toLowerCase().indexOf("<body>");
     
    var bodyEnd = responseText.toLowerCase().indexOf("</body>");
     
    if (bodyStart > -1 && bodyEnd > -1)
     
    {
     
    responseText = responseText.substring(bodyStart + 6, bodyEnd);
     
    }
     
    return responseText;
     
    },
     
    });
     
    function getContent(url)
     
    {
     
    var options = {
     
    beforeSend: function()
     
    {
     
    document.body.style.cursor = 'wait';
     
    },
     
    url : url,
     
    type : "GET",
     
    dataType: "text",
     
    complete: function()
     
    {
     
    document.body.style.cursor = 'default';
     
    },
     
    success: function(responseText, statusText)
     
    {
     
    responseText = jQuery.getAjaxBody(responseText);
     
    // c responseText делаете преобразования ссылок и
     
    $('selector').html(responseText);
     
    }
     
    };
     
    $.ajax(options);
     
    return false;
     
    }
     
    // Ну и подключаем
     
    $(document).ready(function()
     
    {
     
    getContent('https://www.nulled.cc/threads/226814/');
     
    });
     
    Ser Frood нравится это.
  4. jami

    jami Постоялец

    Регистр.:
    10 авг 2011
    Сообщения:
    114
    Симпатии:
    39
    Можно короче через jquery: http://api.jquery.com/jQuery.ajax/
    Не забудьте про подмену реферера в запросе, яндекс с большой вероятностью следит за этим заголовком.
     
    Ser Frood нравится это.
  5. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    522
    Симпатии:
    386
    получается только свой домен получить а если ставлю нуллед или любой другой то нет! проверь залей на сервер файл токо
     
  6. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    522
    Симпатии:
    386
    $ajax не получится же чужие домены трогать! или я не въеду! плз пример на JS
     
  7. shaen

    shaen Постоялец

    Регистр.:
    23 июн 2011
    Сообщения:
    51
    Симпатии:
    9
    Извиняюсь за пример с $.ajax() посмотрите в сторону XMLHttpRequest()
     
  8. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    522
    Симпатии:
    386
    К сожадению никакми методами, так и не получается обойти политику безопастности жавы((
     
  9. Easy.proger

    Easy.proger Создатель

    Регистр.:
    1 май 2012
    Сообщения:
    22
    Симпатии:
    1
    угу сам возился с этим интересно нет ли каких решений

    в итоге сделал в ручную копирование нужной страницы в файл уже чтение с собственно хостинга благо в рамках задачи такое было позволительно
     
  10. katrukhin

    katrukhin

    Регистр.:
    6 июн 2010
    Сообщения:
    168
    Симпатии:
    22
    Та жа тема и у меня. На обычном примере:
    Код:
            <iframe id="i" name="i" frameborder="0" allowtransparency="1" src="frame.html" style="display:none;" width="1000" height="1000"></iframe>
    <script>
     
     
    $(document).ready(function(){
       
    setTimeout("$('#i').contents().find('div#j').css({'color'  : '#f00'});$('#i').css({'display'  : 'block'});", 2000)
                 
      });
    </script>
    -страница с фреймом

    Код:
        <body><div id="j">Абракабабра</div>
      </body>
    - сам frame

    Если frame на серваке, все без проблем работает, если его переношу на любой другой сервак, ничего не пашет.
    Это точно политика JS, есть варианты обойти?
    Ser Frood - его скрипт я вообще не понял, че за скрипт вообще?