2012-11-05 162 views
1

我想從youtube網址列表中獲取第一個元素,並使用jwplayer在容器中播放它。無法將變量傳遞給jwplayer url?

由於某種原因,我在通過變量傳遞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); 

回答

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' 
});