Javascript 改变嵌入vlc视频的目标

Javascript 改变嵌入vlc视频的目标,javascript,jquery,embed,vlc,target,Javascript,Jquery,Embed,Vlc,Target,我试图根据用户的选择更改vlc视频的目标/源。这就是我到目前为止所做的: $('select').change(function() { var router = $(this).val(); alert("The port number is "+router); var link = "http://xxx:"+router+"/videostream.cgi?user=admin&pwd=cam1&t

我试图根据用户的选择更改vlc视频的目标/源。这就是我到目前为止所做的:

$('select').change(function() {
            var router = $(this).val();
            alert("The port number is "+router);

            var link = "http://xxx:"+router+"/videostream.cgi?user=admin&pwd=cam1&t=";
            alert("The stored link is: "+link);

            alert("The current target is: "+$("#vlc").attr("target"));

            $("#vlc").attr("target",link);

            alert("The new target is: "+$("#vlc").attr("target",link));

        });
选择:

<select name="cameras" id="cameras">
    <option value="1101">Cam 1</option>
    <option value="1102">Cam 2</option>
</select>

凸轮1
凸轮2
vlc对象:

<embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" version="VideoLAN.VLCPlugin.2"  width="500"  height="500" id="vlc" loop="yes" autoplay="yes" target="http://xxx:1101/videostream.cgi?user=admin&pwd=cam1&t="></embed>


xxx指用户的IP地址。警报用于我自己的测试目的。前三个按其应该的方式运行,但最后一个返回[object]。我已经能够更改vlc对象的其他属性,如宽度,因此它与我缺少的目标属性有关

在更改
目标
属性之前,您必须从DOM中分离
元素。然后再把它贴上

var embed, embedParent;

$('select').change(function() {
    var router = $(this).val();

    alert("The port number is "+router);

    var link = "http://xxx:"+router+"/videostream.cgi?user=admin&pwd=cam1&t=";
    alert("The stored link is: "+link);

    alert("The current target is: "+$("#vlc").attr("target"));

    // getting parent for further use
    embedParent = $("#vlc").parent();

    // will remove element from DOM and assing to embed var
    embed = $("#vlc").detach();
    embed.attr("target", link);
    embed.appendTo(embedParent);
});

最后一个警报返回[object object],因为jQuery调用返回jQuery节点对象,所以只需提醒
链接
。您是否尝试过使用
prop()
而不是
attr()
进行目标更改?结果证明我不需要最后一个链接。它现在正确地向目标发出警报。然而,尽管目标发生了变化,但视频并未发生变化。我想这就是新的问题了。看看这个:看起来你可以做
vlc.playlist.playItem(vlc.playlist.add)http://xyz') );