YQL и javascript (не удалось)

Я нашел трюк

// Define variables
var query = 'select * from data.html.cssselect where url="http://www.chucknorrisfacts.com/chuck-norris-top-50-facts" and css=".field-content a"';
var yqlAPI = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent(query) + ' &format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=?';
$.getJSON(yqlAPI, function(r){
    console.log('Chuck Norris Facts:');
$.each(r.query.results.results.a, function(){ console.log('----------'); console.log(this.content);
}); }); 

Звучит здорово, но он не работает.

Обнаружено следующее: http://tutorialzine.com/2010/02/feed-widget-jquery-css-yql/ та же проблема. https://github.com/hail2u/jquery.query-yql загружать, распаковывать, запускать на сервере и ничего.

Консоль YQL с первым запросом выполняется медленно, но работает.

Как я могу использовать YQL с js? Нужен ли OAuth?

обновление: screenshot with console

Ответ 1

Извиняюсь, я нашел ответ... это не YAHOO, а моя локальная сеть и его шлюз (модем).

Я делаю успешный тест с использованием привязки Tethering. Поэтому я перехожу на страницу администрирования шлюза.


Брандмауэр

Фильтр веб-содержимого. Эта страница позволяет заблокировать некоторые брандмауэры веб-ориентированных файлов cookie, java-скриптов и всплывающих окон. Также можно определить список "доверенных компьютеров", которые не подлежат настройке фильтров. Также можно включить специальные функции брандмауэра. Настоятельно рекомендуется, чтобы брандмауэр оставался включенным для защиты от атак типа "отказ в обслуживании". Перейдите на страницу "Родительский контроль", чтобы заблокировать доступ в Интернет на определенные сайты.

Веб-функции

  • Фильтр-прокси отключить
  • Фильтр Cookies снимите флажок
  • Фильтр Java-апплетов снимите флажок
  • Фильтр ActiveX снимите флажок
  • Отфильтровать всплывающее окно Windows снимите флажок
  • Блокированные фрагменты IP-пакетов снимите флажок
  • Обнаружение сканирования порта снимите флажок
  • Обнаружение паводков IP снимите флажок
  • Защита брандмауэрa > отмечена

Снимите флажок с последнего элемента и теперь он работает! У меня никогда не было проблем с этим брандмауэром, используя ajax, nas config, протокол dlna, запуск mysql на локальном сервере...

Чтобы быть более конкретным, это Thomson twg850-4 (арендованный моим провайдером).

Ответ 2

Не знаю, какова была ваша проблема, но ваш начальный script работает как есть.

Я сделал несколько изменений, чтобы добавить его на страницу и создать контент встроенный, протестированный и запущенный в следующих браузерах:

Chrome 31.0.1650.63 m Firefox 26.0 IE 11.0 IE 10.0 IE 9.0

<!DOCTYPE html />
<html>

  <head>
    <title>Chuck Norris facts</title>
  </head>

  <body>
    <h1>Chuck Norris facts</h1>

    <ul id="facts">
    </ul>

    <script src="http://code.jquery.com/jquery-2.0.3.min.js" type="text/javascript"></script>
    <script type="text/javascript">

      $(document).ready(function ()
      {
        getFacts();
      });

      var query = 'select * from data.html.cssselect where url="http://www.chucknorrisfacts.com/chuck-norris-top-50-facts" and css=".field-content a"';
      var yqlAPI = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent(query) + ' &format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=?';

      function getFacts()
      {
        $.getJSON(yqlAPI, function (r)
        {
          console.log('Chuck Norris Facts:');
          $.each(r.query.results.results.a, function ()
          {
            $('#facts').append('<li>' + this.content + '</li>');
          });
        });
      }

    </script>
  </body>

</html>

Вещи, которые я проверил бы:

версию вашего браузера и версию jQuery. В моем коде выше я использовал последний jQuery с конечной точки CDN, и я тестировал его во многих браузерах.

У меня это работает в современных версиях, но IE8 и меньше не работают вообще.

Это не удивительно, поскольку любой jQuery после 1.9 не работает меньше, чем IE9.

Я подозреваю, что у вас также возникнут подобные проблемы, если ваш Chrome/Firefox/Opera/Maxthon и т.д. не был обновлен на какое-то время.

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