我使用 WordPress 和优雅主题套件中的主题“Gleam”构建了网站http://www.ordinarypeopleofficial.com。这个主题非常复杂。它大量使用 JavaScript。它有一个名为custom.js的 700 行代码长文件,它使用 AJAX 管理整个网站。
由于这个原因,我无法包含将 jPlayer 加载到 PHP 脚本中的 JavaScript 代码,但我需要将其放入单独的 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
永远不会得到结果,并且在没有得到文件的情况下持续加载数小时。