使用javascript更改参数值
我有ffmp3嵌入代码,并试图用javascript更改flashvars参数值,这可能吗 我来了这么远,但运气不好:使用javascript更改参数值,javascript,onclick,Javascript,Onclick,我有ffmp3嵌入代码,并试图用javascript更改flashvars参数值,这可能吗 我来了这么远,但运气不好: <a id="foo" href="#">Change Radio</a> <object width="205" height="109" bgcolor="#FFFFFF"> <param name="movie" value="ffmp3-config.swf" /> <param
<a id="foo" href="#">Change Radio</a>
<object width="205" height="109" bgcolor="#FFFFFF">
<param name="movie" value="ffmp3-config.swf" />
<param name="flashvars" value="Radio1" />
<param name="wmode" value="transparent" />
<param name="scale" value="noscale" />
<embed src="ffmp3-config.swf" flashvars="url=Radio1" width="205" scale="noscale" height="109" wmode="transparent" bgcolor="none" type="application/x-shockwave-flash" />
</object>
<script type="text/javascript">
var foo = document.getElementById('foo');
foo.onclick = function () {
document.getElementsByName('flashvars')[0].value='Radio2';
}
</script>
var foo=document.getElementById('foo');
foo.onclick=函数(){
document.getElementsByName('flashvars')[0].value='Radio2';
}
这实际上是按原样工作的(请检查)。您的问题可能是flash对象已经渲染,并且不会使用更改的值,因此您需要在更改值后“重新加载”它
document.getElementsByName("flashvars")[0].value = 'newvalue';
工作起来很有魅力,代码没有问题
但问题不是值没有被更改,而是flash对象不知道这些更改。它只是在页面加载时实例化,不再与html代码有任何链接。我认为您必须重写整个对象块(使用document.write,或者如果您想对自己友好,使用jquery或任何其他库)简言之:是的,可以使用Javascript更改任何HTML元素的值。但我想,这可能不会以你期望的方式帮助你 Flashplayer对象在第一次加载时很可能只查询参数。因此,在flashplayer运行时更改参数可能不会影响其当前流 但这也可以解决:
- 在第一个页面加载期间放置所有可用对象(隐藏),将autoplay设置为false,根据需要隐藏/取消隐藏对象,并使用javascript触发启动
- 不仅可以使用Javascript更改
元素,还可以根据需要动态生成“完整的”Flashplayer对象flashvars
- 直接修改FlashPlayer url,而不是参数
- 。。。要有创意:)