серьезная проблема OPERA при загрузке Google Search JSON с помощью jquery .. ( - PullRequest
0 голосов
/ 07 сентября 2011

мой код отлично работает с IE8, Chrome, FireFox, но НЕ в последней Opera 11.5, 11.51

 <script>

$.ajax({
    url:"https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=barack%20obama&key=ABQIAAAA0WIba2EsveoBgNmpFF4VPBT_f2PMeCqK40xCWP-HTF5Ln8EjvhRvRnHj8jasieBYBypbUK53aU5vOA&mgsz=medium",
    dataType:"jsonp",
    cache: false,
    success: function(data){

    for (var i = 0; i < data.responseData.results.length; i++){

     $('#imago').append('<img src="' + data.responseData.results[i].tbUrl + '">' + '<br>');

    }



    }

});


</script>

<div id="imago"></div>

заметил парадокс : если я добавлю строку, предупреждающую data.responseData.results [i] .tbUrl перед добавлением полученных изображений tbUrl, она тоже будет работать в Opera ...

вот пример: http://saitostroi.by/im.php

1 Ответ

1 голос
/ 13 сентября 2011

Вам нужно переместить DIV, в который вы хотите вставить результаты, в выше скрипта, выполняющего запрос Ajax. Причина в том, что Opera не продолжает синтаксический анализ (и, следовательно, не видит DIV), когда jQuery добавляет скрипт в документ, пока этот скрипт не завершит загрузку.

...