1

我想从 youtube url 列表中获取第一个元素,并使用 jwplayer 在容器中播放它。

出于某种原因,当我通过变量传递 url 时出现跨域策略限制错误,但是当我直接输入 url 时它工作正常。

有什么建议么?这是我正在使用的出现错误的javascript:

function getTopLink() {
    var addressValue = $('.list_container li:first-child .youtube').attr("href");
    alert(addressValue);
    return addressValue;
    }

  var stage = getTopLink();

  jwplayer('mediaplayer').setup({
    'flashplayer': '/jwplayer/player.swf',
    'id': 'playerID',
    'width': '640',
    'height': '380',
     icons: false,
    'skin': '/skins/grungetape.zip'
  });

  jwplayer().load(stage);
4

1 回答 1

0

我确信有一种更有效的方法可以做到这一点,但这就是我想出的似乎可行的方法:

function getTopLink() {
  var addressValue = $('.list_container li:first-child .youtube').attr("href");
  return addressValue;
  }
var x = getTopLink();

function replaceToWatch(i,stage) {  
  var stage = x;
  var newStage = stage.replace(/(?:http:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:embed\?v=|embed)(\/)?(.+)/g, 'http://www.youtube.com/watch?v=$2');
  return newStage;

}

var topVideo = replaceToWatch();

jwplayer('playerContainer').setup({
  'flashplayer': '/jwplayer/player.swf',
  'id': 'playerID',
  'width': '640',
  'height': '380',
   icons: false,
  'file': topVideo,
  'skin': '/skins/grungetape.zip'
});
于 2012-11-14T22:44:03.623 回答