1

以前のスクリプトを使用して Quicktime ビデオを置き換えています。

元のスクリプトではボタンを使用して他の動画の URL を読み込みますが、単純なリンクを使用したいと考えています。これは、javascript に関する私の非常に限られた知識が私を行き詰まらせた場所です。

このコードで「 .value 」を「.href 」に変更できると思いました。

function loadVideo() {
                movie.loadURL( document.getElementById('movie-url').value );
                readyInitialized = false;
            }

ただし、ビデオは別のウィンドウで開きます。

私のリンクは次のとおりです。

<a id="movie-url" href="http://www.fixxed.com/test/test/media/Kodak_FashionShow.mov" onclick="loadVideo(); return false;" rel="nofollow">Second Video</a><br />
<a id="movie-url" href="http://www.fixxed.com/test/test/media/doritos-day.mov" onclick="loadVideo(); return false;" rel="nofollow">Frist Video</a>

上記のリンクのいずれかをクリックすると、これがトリガーされます。

<input type="text" id="movie-url" value="http://mirrors.creativecommons.org/movingimages/Building_On_The_Past.mov" />

HTML ドキュメントと JavaScript ファイルの両方に同様の JavaScript コードが含まれており、もう一方がないと機能しません (理由がわからないので、一度だけ使用したいのですが) HTML:

function loadVideo() {
                movie.loadURL( document.getElementById('movie-url').value );
                readyInitialized = false;
            }

JavaScript ファイル:

pfQuicktime.prototype.loadURL = function() {
    if (this.movie) {
        var url = document.getElementById('movie-url').value;
        this.movie.SetURL(url);
        this.movie.SetControllerVisible(false);
    }
}

実際の例はここにあります

4

2 に答える 2

1

要素の href が必要な場合は、次のgetAttribute('href')ように使用します。

function loadVideo() {
           movie.loadURL( document.getElementById('movie-url').getAttribute('href'));
           readyInitialized = false;
         }

また、Alnitak が指摘しているように、1 つのページで ID を複数回使用することはできません。

于 2012-05-15T17:26:55.163 に答える
1

同じ ID を持つ要素が多すぎる (つまり、複数の) ことに苦しんでいます。

各要素に独自の ID を与え、イベント ハンドラーthisで現在の要素を参照するために使用するため、その要素を抽出できますhref

<a id="movie1" href="http://..../"  
 onclick="loadVideo(this);" rel="nofollow"">First</a><br />

<a id="movie2" href="http://..../"
 onclick="loadVideo(this);" rel="nofollow">Second</a>

<script>
function loadVideo() {
    movie.loadURL(this.href);
    readyInitialized = false;
    return false;
}

// this _may_ allow you to supply your own URL
pfQuicktime.prototype.loadURL = function(url) {
    if (this.movie) {
        this.movie.SetURL(url);
        this.movie.SetControllerVisible(false);
    }
}

</script>

(FWIW、通常は DOM0 インライン イベント ハンドラーを使用することはお勧めしませんが、この場合は便利なようです)。

于 2012-05-15T17:27:10.653 に答える