0

経由で Youtube からデータを取得しようとしていJSONます。このコードは Chrome では問題なく動作しますが、Firefox では動作しません。私のコードは次のとおりです。

function test(url){

  var youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1");
  var video_id= youtube_id;
    $.get('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=json', function(data) {
    var title = data.entry.title.$t;
    var description = data.entry.media$group.media$description.$t;
    var thumbnail = data.entry.media$group.media$thumbnail[0].url; // URL of the image

   document.writeln(thumbnail);
   document.writeln(description);// Use these variables somewhere
});
}

事前に感謝します-どんな助けでも大歓迎です。

4

1 に答える 1

0

chrome だけでなく firefox でも動作するようにするには、ajax リクエストにデータ型を指定する必要があります。Chrome は成功のコールバックの JSON を自動的に解析しますが、firefox はそうではありません。

それで:

function test(url){

  var youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1");
  var video_id= youtube_id;
    $.get('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=json', function(data) {
    var title = data.entry.title.$t;
    var description = data.entry.media$group.media$description.$t;
    var thumbnail = data.entry.media$group.media$thumbnail[0].url; // URL of the image

   document.writeln(thumbnail);
   document.writeln(description);// Use these variables somewhere
}, "json");
}

私のために働きます。

これはクロムとFirefoxで動作するjsfiddleです:http://jsfiddle.net/8dyWr/1

get メソッドの署名:

jQuery.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )

から: http://api.jquery.com/jQuery.get/

于 2013-01-16T20:59:15.040 に答える