如何利用js动态修改OBJ的param的值啊

livy198768 2011-02-18 09:11:50
<object id="fplayer" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"
width="548" height="500">
<param name="movie" value="http://www.cnzz.cc/Flv/Flvplayer.swf" />
<param name="quality" value="high" />
<param name="allowFullScreen" value="true" />
<param name="FlashVars" value=""
/>
</object>
在param的FlashVars里面存放的是视频文件的地址,怎样才能实现通过用户点击不同的按钮来播放不同的视频文件呢?谢谢各位
...全文
868 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
livy198768 2011-02-22
  • 打赏
  • 举报
回复
谢谢楼上各位的解答,我也是想到了div写innerHTML 哈哈,多谢各位swfObject的也学写了,谢谢啦
中远 2011-02-18
  • 打赏
  • 举报
回复
swfobject还内置了检测flash版本的方法
中远 2011-02-18
  • 打赏
  • 举报
回复
swfobject考虑了浏览器兼容性问题,直接写innerHTML就得你自己考虑了。
  • 打赏
  • 举报
回复
但用swfobject的方式总觉得比较繁琐,不知有何特别的好处。

一般更喜欢用个DIV把OBJECT包起来。喜欢直接重写DIV的INNERHTML,跟原来的OBJECT代码基本一样,复制过来修改一下FlashVars内容即可。当然引号需要注意一下。
  • 打赏
  • 举报
回复
哦,是了,没多想,是FlashVars,初始化时读取的,不是movie,src之类的会即时反映。
那就是那样重新加载了。
中远 2011-02-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 theforever 的回复:]

二楼方法太麻烦了。效率也差。

直接改变param值就行了。

方法1:通过子对象索引,因为受索引顺序的影响,有时还得加上遍历判断,一般不推荐。
方法2:给要更改的param加上id="theforever",然后就可以通过getElementById直接取得和更改了。
<param name="FlashVars" id="theforever" value="赵亮" />

……
[/Quote]

js在改变FlashVars值的时候flash不一定会重新读新的值,必须要重新加载flash才行的。
  • 打赏
  • 举报
回复
二楼方法太麻烦了。效率也差。

直接改变param值就行了。

方法1:通过子对象索引,因为受索引顺序的影响,有时还得加上遍历判断,一般不推荐。
方法2:给要更改的param加上id="theforever",然后就可以通过getElementById直接取得和更改了。
<param name="FlashVars" id="theforever" value="赵亮" />

alert(document.getElementById("theforever").value);
document.getElementById("theforever").value="碧海情天";
alert(document.getElementById("theforever").value);

by theforever@csdn
livy198768 2011-02-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 midfar 的回复:]
使用swfobject动态生成flash标签,用户点击不同的按钮则删除以前的flash并重新生成一个新的flash。
参考代码如下:
//用户点击不同的按钮则重新执行一次该函数。参数为flashVars
function createFlash(){
var params = {
id: "divId",
flashUrl: "",
expressInstallUrl: "",
w……
[/Quote]谢谢您,我试一下~~感谢!
86y 2011-02-18
  • 打赏
  • 举报
回复
重写是最好改变param值的方法!!!!
中远 2011-02-18
  • 打赏
  • 举报
回复
使用swfobject动态生成flash标签,用户点击不同的按钮则删除以前的flash并重新生成一个新的flash。
参考代码如下:
//用户点击不同的按钮则重新执行一次该函数。参数为flashVars
function createFlash(){
var params = {
id: "divId",
flashUrl: "",
expressInstallUrl: "",
width: 548,
height: 500
};
var flashVars = {
};
var flashParams = {
allowScriptAccess: "sameDomain"
};
var flashAttributes = {
id: params.id,
name: params.id,
wmode: "Opaque"
};
swfobject.embedSWF(params.flashUrl, params.id, params.width, params.height, "10.0.0", params.expressInstallUrl, flashVars, flashParams, flashAttributes);
}

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧