2

jquery または javascript を使用して jwplayer を動的にロードしたい。FLASH がインストールされていないブラウザ jwplayer が期待通りに動作しないため、これを行いたいと考えています。

したがって、最初にフラッシュプレーヤーがブラウザにインストールされているかどうかを確認したいのですが、そうであれば、jwplayerをロードしたいだけです.フラッシュがインストールされているかどうかを確認するには、以下を使用しています

var hashFlash=((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) != false));

hashFlash が true の場合、jwplayer をロードしてビデオ/オーディオを再生します。

以下のコードを使用して jwplayer を動的にロードしています。

function loadjwplayer(filename) {
    var fileref=document.createElement('script');
    fileref.setAttribute("type","text/javascript");
    fileref.setAttribute("src", filename);
    alert(fileref);
    document.getElementsByTagName("head")[0].appendChild(fileref);
}

または以下のようにjqueryを介して

$.getScript("/jwplayer/jwplayer.js");

その後、以下を使用して、要件に従ってオーディオ/ビデオプレーヤーをページに追加します。

function load_jwplayer_skin( div_id, audio_file) { 
    jwplayer(div_id).setup({
                      file: audio_file,
                      flashplayer: "/jwplayer/jwplayer.flash.swf",    
                      primary: "flash",
                      width: "350", 
                      height: "25", 
                    });
}

以下のようにhtmlに使用します

<div id='audio_1'>......</div>
<script>
load_jwplayer_skin('audio_1','my_fev_song.mp3');
</script>

しかし、「Uncaught Referenceerror: Jwplayer is not defined within function load_jwplayer_skin」というエラーが表示されます。

ページの先頭で ..... を使用して jwplayer をロードすると、同じことが正常に機能します。したがって、jwplayer はグローバル スコープでは使用できないようです。

誰かが私に進む方法を提案してください。

4

1 に答える 1