Javascript 改变嵌入vlc视频的目标
我试图根据用户的选择更改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
$('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') );代码>