0

WordPress とスイートのエレガントなテーマのテーマ「Gleam」を使用して、http: //www.ordinarypeopleofficial.comというウェブサイトを構築しました。このテーマは非常に複雑です。JavaScript を多用しています。custom.jsと呼ばれる 700 コード行のファイルがあり、AJAX を使用して Web サイト全体を管理します。

このため、jPlayer をロードする JavaScript コードを PHP スクリプトに含めることはできませんでしたが、それを別の JavaScript ファイルに入れ、このファイルをcustom.jsから呼び出す必要がありました。

custom.jsに次の行を追加しました。これには、chiama-player.js という名前のファイルがタグに含まれてます<head>

var html_doc = document.getElementsByTagName('head').item(0);
var js = document.createElement('script');
js.setAttribute('language', 'javascript');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', "/wp-content/themes/Gleam/chiama-player.js");
html_doc.appendChild(js);

chiama-player.jsという名前のファイルには、jPlayer をインスタンス化するコードが含まれています。

$(document).ready(function() {
if(window.location.href=="http://www.ordinarypeopleofficial.com/#!/le-canzoni/" || window.location.href=="http://www.ordinarypeopleofficial.com/le-canzoni/"){
    $("#jp_container_1").css( { 'display': 'block' } );
    $("#jquery_jplayer_1").jPlayer( {
        ready: function () {
            $(this).jPlayer("setMedia", {
                m4a: "http://www.ordinarypeopleofficial.com/wp-content/themes/Gleam/shakeit.m4a",
            });
        },
        swfPath: "http://www.ordinarypeopleofficial.com/wp-content/themes/Gleam/jplayer",
        supplied: "m4a"
    });
}
else{
    $("#jp_container_1").css( { 'display': 'none' } );
}
});

問題: M4A をサポートするブラウザーでは、すべてがうまく機能します。

問題は Firefox に付属しています。Firefox は M4A をサポートしていないため、動作させるには Flash フォールバックが必要です。Firefox でページを読み込もうとすると、swfPath正しく認識されていることがわかります (実際、パスを変更してランダムなテキストを入力すると、[ネット] パネルに 404 が表示されます)。

問題は、リクエストGET Jplayer.swfが結果を取得せず、ファイルを取得せずに何時間もロードし続けることです。

4

1 に答える 1