如何获取flashvars属性的值?
<embed src="http://wl2static.lsl.com/common/flash/as3/MemberApplet026.swf"
id="opera_elb" width="100%"
height="100%"
allowscriptaccess="always"
allowfullscreen="true"
bgcolor="ffe8ef"
quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash"
flashvars="muteaudio=0&ishd=1&ishq=0&twoway=0&proxyip=">
我使用getElementsByTagName来获取元素
var Em = content.document.getElementsByTagName('embed');
并替换flashvars中的值
<script>
function myFunction()
{
var Em = content.document.getElementsByTagName('embed');
var str = Em[0].getAttribute('flashvars').innerHTML;
var res = str.replace("muteaudio=0","muteaudio=1");
document.getElementsByTagName("embed").innerHTML=res;
}
</script>
但是当我尝试错误时:未捕获的ReferenceError:未定义内容 请帮帮我
答案 0 :(得分:0)
好的,这是一个解决方案(严格来说,改变flashvars
的属性!)。首先,我认为你的JS中有一些语法错误。所以我修改了它,这是JS:
function myFunction()
{
var Em = document.getElementById('vid');
var str = Em.getAttribute('flashvars');
var contentSpot = document.getElementById("he");
contentSpot.innerHTML = Em.getAttribute('flashvars');
Em.setAttribute('flashvars', 'muteaudio=1')
// contentSpot.innerHTML = Em.getAttribute('flashvars');/* I used this to see if the change occurred.*/
}
window.onload = myFunction();
所以contentSpot
是我为观察变化而创建的div元素。
html在这里:
<embed id="vid" src="http://wl2static.lsl.com/common/flash/as3/MemberApplet026.swf"
id="opera_elb" width="100%"
height="100%"
allowscriptaccess="always"
allowfullscreen="true"
bgcolor="ffe8ef"
quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash"
flashvars="muteaudio=0&ishd=1&ishq=0&twoway=0&proxyip=">
<div id="he"> Hello</div> <!-- The created div to observe -->
好的,这是我的建议:
1)将清理后的代码弹出到jsfiddle中,然后观察内容。
2)然后删除代码上方的contentSpot.innerHTML = Em.getAttribute('flashvars');
行:Em.setAttribute('flashvars', 'muteaudio=1')
3)删除注释斜杠然后按ctrl + enter来观察属性的变化。
*真的要注意你的“。”/ DOM语法和区分大小写。
希望这会帮助你!