这是我嵌入到网页中的 ActiveX 控件:
<object id="MediaPlayer1"
CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/ en/nsmp2inf.cab#Version=5,1,52,701"
standby="Loading Microsoft Windows® Media Player components..."
TYPE="application/x-oleobject"
width="280"
height="256">
<param name="fileName" value="/media/paul.avi">
<param name="animationatStart" value="true">
<param name="transparentatStart" value="true">
<param name="autoStart" value="false">
<param name="showControls" value="true">
<param name="Volume" value="-20">
<embed type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
src="/media/paul.avi"
name="MediaPlayer1"
width=280
height=256
autostart=1
showcontrols=1
volume=-20>
</object>
Javascript有没有办法控制fileName
的值以及 embed
的 src标签?我使用了一种类似于普通 html5 视频所需的方法,如下:
function vidSwap(vidURL) {
var myVideo = document.getElementsByTagName('video')[0];
myVideo.src = vidURL;
myVideo.load();
myVideo.play();
}
我很确定 document.getElementsByTagName('video')[0]
抢第一<video>
页面中的标记,但如果我试图在 <object>
中获取某些内容标签是否类似于 document.getElementsByTagName('param')[0]
同样与 <embed>
:document.getElementsByTagName('embed')[0]
?
最佳答案
我对以下内容做了一些实验,它似乎有效;只需将 id 添加到嵌入标签,查找它,然后更改您想要的任何值:
<html><head></head><body>
<object id="MediaPlayer1"
CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/
en/nsmp2inf.cab#Version=5,1,52,701"
standby="Loading Microsoft Windows® Media Player components..."
TYPE="application/x-oleobject"
width="280"
height="256">
<param name="fileName" value="/media/paul.avi">
<param name="animationatStart" value="true">
<param name="transparentatStart" value="true">
<param name="autoStart" value="false">
<param name="showControls" value="true">
<param name="Volume" value="-20">
<embed type="application/x-mplayer2"
id="myEmbededTag"
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
src="/media/paul.avi"
name="MediaPlayer1"
width=280
height=256
autostart=1
showcontrols=1
volume=-20>
</object>
<script type="text/javascript">
// Look up the ID, and get a ref. to it:
var element = document.getElementById('myEmbededTag');
alert(element.src);
element.src = 'http://example.com/yourvideo.avi';
alert(element.src);
</script>
</body>
</html>
针对下面 febreezey 的评论进行更新:
这取决于您何时想要执行此操作;假设您只想设置源并在页面完成加载时启动视频,那么您可以执行类似的操作(将前面的 JavaScript 部分替换为以下内容):
<script type="text/javascript">
window.onload = function(){
var element = document.getElementById('myEmbededTag');
alert(element.src);
element.src = 'http://www.rabiner.com/files/David_Rabiner.wmv';
alert(element.src);
}
</script>
(注意,我不知道示例视频是关于什么的,我只是挑选了一些完全随机的示例视频......)
最终更新:
我不确定这是解决您的问题的理想/完美方法(感觉有点粗糙),但您可能可以这样做:
<a href="#"
onclick="javascript:SetVid('http://www.rabiner.com/files/David_Rabiner.wmv');">
Click to set value
</a>
<script type="text/javascript">
var SetVid = function(videoUrl){
var element = document.getElementById('myEmbededTag');
alert(element.src);
element.src = videoUrl;
alert(element.src);
}
</script>
关于c# - 使用 Javascript 更改 ActiveX 视频播放器源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11548168/