1

次のように、YouTubeビデオが埋め込まれています。

<object width="640" height="360">
        <param name="movie" value="https://www.youtube.com/v/M7lc1UVf-VE?version=3"></param>
        <param name="allowFullScreen" value="true"></param>
        <param name="allowScriptAccess" value="always"></param>
        <embed src="https://www.youtube.com/v/M7lc1UVf-VE?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"></embed>
</object>

次に、JS を使用して src 属性を置き換えます。

function replaceSrc()
    {

        document.getElementsByTagName("embed")[0].src = "new_link";
    }
if (window.addEventListener){
         window.addEventListener('load', replaceSrc, false);
    } else if (window.attachEvent) {
        window.attachEvent('onload', replaceSrc);
    }

上記の関数は新しいsrc属性を設定しますが、新しいリンクに従って YouTube ビデオを再生しません。src新しく設定された属性を使用して、YouTube ビデオを HTML でリロードする必要があります。助言がありますか?YouTube API はありません。

4

2 に答える 2

0

私は自分の質問に答えています。将来同じ問題を抱えている人に警告したいと思います.JS関数の位置が重要です!! 私はそのようなコードを実装しました

<script>
function replaceSrcc() {

    var elem = document.getElementsByTagName("embed")[0];
        copy = elem.cloneNode();
    copy.src = "https://www.youtube.com/v/SKQeNnNT_Vg?version=3";
    elem.parentNode.replaceChild(copy, elem);
    } 


    if (window.addEventListener){
         window.addEventListener('load', replaceSrcc, false);
    } else if (window.attachEvent) {
        window.attachEvent('onload', replaceSrcc);
    }

</script>

<head>まず、ページ内の別のものに対して定義された他のJS関数とともに、タグに入れました。それは動かなかった。<body>次に、最後のオプションとして、タグに入れましたが、今では機能しています。ちょっとクレイジーですが、それは事実です。

于 2013-05-21T08:56:00.437 に答える