获取embed元素的属性并在flashvars Javascript中更改值?

时间:2013-11-08 00:45:05

标签: javascript jquery html

如何获取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&amp;ishd=1&amp;ishq=0&amp;twoway=0&amp;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:未定义内容 请帮帮我

1 个答案:

答案 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&amp;ishd=1&amp;ishq=0&amp;twoway=0&amp;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语法和区分大小写。

希望这会帮助你!