嵌入式播放器在远程浏览器中不起作用
Embedded player does not work in remote browser
我在我的Web项目(jsp)中使用嵌入式wmv播放器来播放位于服务器上的*.avi文件。当我单击jsp中的链接时,它们工作正常,视频正在播放。
但是当我尝试在另一台机器上打开页面时,嵌入式播放器不起作用,而是从服务器下载文件。
这是我使用的代码
<script type="text/javascript">
function play(media){
document.getElementById('mediaplayer').innerHTML=
'<object classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95"'
'type="application/x-oleobject" width="320" height="285">'
'<param name="showControls" value="false">'
'<param name="fileName" value="'media '">'
'<embed type="application/x-mplayer2" width="320" height="285"'
'showcontrols="false" src="'media '"><'/embed><'/object>'
}
</script>
<div id="mediaplayer"></div>
<ul id="menu">
<li><a onclick="play(this.href);return false" href="http://www.myurlname/afghan.avi">Source 1</a></li>
</ul>
在网上找到了上面的脚本,但找不到解决方案。
函数追加播放器标记的方式似乎不正确。您应该连接所有这些字符串。您确实有一条错误消息,打开浏览器的控制台,您将看到以下内容:
未捕获的语法错误:意外的令牌<</p>
我已经在这个摆弄你的代码上看到了这一点
这是我在旧项目中使用的示例方法:
// this requires jquery
var MediaLink_Click = function (e) {
var mp = document.getElementById('mediaPlayer');
if ((null !== mp) && (undefined !== mp)) {
if ((null != mp.contentDocument) && (undefined !== mp.contentDocument)) {
$("object").each(function () {
this.contentDocument.controls.stop();
});
}
$(mp).remove();
}
var oeTags = '<object id="mediaPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="640px" height="480px"'
+ '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">'
+ ' <param name="autoStart" value="true"/>'
+ ' <param name="url" value="' + e.data.media_path + '" />'
+ ' <param name="wmode" value="transparent" />'
+ ' <param name="uiMode" value="full" />'
+ ' <param name="loop" value="false" />'
+ ' <embed id ="EmbedmediaPlayer"'
+ ' type ="application/x-mplayer2"'
+ ' src ="' + e.data.media_path + '"'
+ ' width ="640"'
+ ' height ="480">'
+ ' </embed>'
+ '</object>';
$("#mediaplayer").html(oeTags);
};
请注意,我在每行之前用加号(+)连接字符串。你可以像这样使用它:
$("a").bind("click", { media_path: "path to your file goes here" }, MediaLink_Click);
试试这个,让我知道你是否能够跑。
这个小提琴显示它"有点"工作(.avi文件不存在,所以它不会播放,但它加载了播放器和所有内容)
相关文章:
- 当我在浏览器中打开HTML文件时,javascript不起作用
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 为什么简单的Promise语句在浏览器中不起作用
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- 使用Javascript的Ajax请求在iPhone浏览器中不起作用
- 谷歌浏览器模式正则表达式在使用setCustomValidity动态创建表单时不起作用
- 为什么我的谷歌浏览器扩展程序在谷歌浏览器版本 41.0.2272.89 中不起作用
- 为什么这个JavaScript在浏览器中不起作用
- 多个 socket.io 客户端连接不起作用(谷歌浏览器,火狐浏览器)
- 脚本在web浏览器控件中不起作用
- 禁用浏览器中的后退按钮不起作用
- 将JSON对象转换为敲除observable在IE8中不起作用,但在所有其他浏览器中都起作用
- jQuery在我的网站上不起作用,但在我的浏览器上起作用
- 角度路由;在浏览器中直接访问URL时不起作用,但在单击时起作用
- 转到顶部按钮在Firefox浏览器中不起作用
- javascript代码在浏览器中不起作用
- JavaScript文件在浏览器中不起作用,但它在代码笔中起作用
- Javascript浏览器通知不起作用
- 浏览器关闭事件 对于火狐浏览器不起作用