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 はグローバル スコープでは使用できないようです。
誰かが私に進む方法を提案してください。