2

埋め込みオブジェクトのsrc属性を変更したい。私は持っています:

<embed class="flash "id="flash" src="swf/pano.swf?panoSrc=images/a.jpg" 
                     allowFullScreen="true" 
                     width="1280" height="640" quality="high" 
                     pluginspage="http://www.macromedia.com/go/getflashplayer" 
                     type="application/x-shockwave-flash" bgcolor="#DDDDDD"/>

そして私は試しました

function change() 
{
   document.getElementById("flash").setAttribute('src', 'swf/pano.swf?panoSrc=b.jpg');
}

ただし、Chromeでは機能せず、Firefox、IE、Operaでのみ機能しました。どうすれば修正できますか(Chromeで機能させるため)?私は何か間違ったことをしましたか?

編集:これがHTMLファイル全体です

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script>
        function change() {
            document.getElementById("flash").setAttribute('src', 'swf/pano.swf?panoSrc=a.jpg');
        }
    </script>

</head>
<body>


    <embed class="flash" id="flash" src="swf/pano.swf?panoSrc=images/sau.jpg" allowFullScreen="true" 
                     width="1280" height="640" quality="high" 
                     pluginspage="http://www.macromedia.com/go/getflashplayer" 
                     type="application/x-shockwave-flash" bgcolor="#DDDDDD"/>

     <script>
         change();
     </script>

</body>

ページへのリンク:http://chin.comli.com/test.html

4

3 に答える 3

3

関数を呼び出す必要があります。

change();

作業デモ: http: //jsfiddle.net/LUfUx/

于 2012-10-19T00:22:50.457 に答える
2

スクリプト呼び出しを、影響を与えることを意図したコードの後に​​移動するか、window.onload呼び出しに配置します。あなたが持っているように、それはそれが存在する前に要素に対して実行しようとしています。

簡単に言うと、 jqueryを介したオブジェクト埋め込みソースの変更IE / Chromeでの埋め込みビデオsrcの動的変更(Firefoxで動作)JavaScript:埋め込みタグのsrc属性の変更、およびhttp://code.google.comに基づいています。 / p / chromium / issues / detail?id = 69648、これはChromeのバグのようです。唯一の回避策は、<embed>要素全体を削除してから、変更したsrcを使用して再挿入することです。

于 2012-10-19T00:26:57.253 に答える
0

これを試して

function change() {
   document.getElementById("flash").src =  'swf/pano.swf?panoSrc=b.jpg';
   // OR  document["flash"].src =  'swf/pano.swf?panoSrc=b.jpg';
}
于 2012-10-19T00:18:53.470 に答える