2

Web ページに埋め込んだ ActiveX コントロールは次のとおりです。

<object id="MediaPlayer1" 
        CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" 
        codebase="http://activex.microsoft.com/activex/controls/mplayer/ en/nsmp2inf.cab#Version=5,1,52,701"
        standby="Loading Microsoft Windows® Media Player components..."
        TYPE="application/x-oleobject"
        width="280"
        height="256">
<param name="fileName" value="/media/paul.avi">
<param name="animationatStart" value="true">
<param name="transparentatStart" value="true">
<param name="autoStart" value="false">
<param name="showControls" value="true">
<param name="Volume" value="-20">
<embed type="application/x-mplayer2"
        pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
        src="/media/paul.avi"
        name="MediaPlayer1"
        width=280
        height=256 
        autostart=1
        showcontrols=1
        volume=-20>
</object>

タグの値fileNameと src をJavascript で制御する方法はありますか? embed通常のhtml5ビデオに必要なメソッドのようなものを使用しました。これは次のとおりです。

function vidSwap(vidURL) {
    var myVideo = document.getElementsByTagName('video')[0];
    myVideo.src = vidURL;
    myVideo.load();
    myVideo.play();
}

document.getElementsByTagName('video')[0]ページの最初のタグを取得すると確信していますが、タグ<video>内に何かを取得しようとしている場合は、: ?<object>document.getElementsByTagName('param')[0]<embed>document.getElementsByTagName('embed')[0]

4

1 に答える 1

2

私は次のことを少し試してみましたが、うまくいくようです。埋め込みタグに ID を追加して検索し、必要な値を変更するだけです。

<html><head></head><body>
<object id="MediaPlayer1" 
        CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" 
        codebase="http://activex.microsoft.com/activex/controls/mplayer/ 
                  en/nsmp2inf.cab#Version=5,1,52,701"
        standby="Loading Microsoft Windows® Media Player components..."
        TYPE="application/x-oleobject"
        width="280"
        height="256">
<param name="fileName" value="/media/paul.avi">
<param name="animationatStart" value="true">
<param name="transparentatStart" value="true">
<param name="autoStart" value="false">
<param name="showControls" value="true">
<param name="Volume" value="-20">
<embed type="application/x-mplayer2"
      id="myEmbededTag"
      pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
      src="/media/paul.avi"
      name="MediaPlayer1"
      width=280
      height=256 
      autostart=1
      showcontrols=1
      volume=-20>
</object>

<script type="text/javascript">
    // Look up the ID, and get a ref. to it:
    var element = document.getElementById('myEmbededTag');
    alert(element.src);
    element.src = 'http://example.com/yourvideo.avi';
    alert(element.src);
</script>
</body>
</html>

以下の febreezey によるコメントに応じて更新します。

これは、いつ実行するかによって異なります。ソースを設定し、ページの読み込みが完了したときにビデオを開始したい場合は、次のようにすることができます (前の JavaScript セクションを次のものに置き換えます)。

<script type="text/javascript">
    window.onload = function(){
        var element = document.getElementById('myEmbededTag');
        alert(element.src);
        element.src = 'http://www.rabiner.com/files/David_Rabiner.wmv';
        alert(element.src);
    }
</script>

(注、サンプルビデオが何についてのものかわかりません。完全にランダムなサンプルビデオを拾っただけです...)

最終更新:

これがあなたの問題を解決するための理想的/完璧な方法であるかどうかはわかりませんが(少し粗雑に感じます)、おそらく次のようなことができます:

<a href="#" 
 onclick="javascript:SetVid('http://www.rabiner.com/files/David_Rabiner.wmv');">
Click to set value
</a>

<script type="text/javascript">
    var SetVid = function(videoUrl){
        var element = document.getElementById('myEmbededTag');
        alert(element.src);
        element.src = videoUrl;
        alert(element.src);
    }
</script>
于 2012-07-18T19:12:55.237 に答える