joomla Webサイトで他のjsファイルをロードするカスタムJSコードをいくつか作成しようとしています。コードは次のとおりです。
var j = jQuery.noConflict();
function loadJS(){
var i,l = arguments.length;
for (i=0;i<l;i++){
var t = document.createElement('script');
t.src = arguments[i];
document.body.appendChild(t);
}
}
j(document).ready(function(){
loadJS('1.js','2.js','3.js');
})
上記のコードは、 、 、 のファイルに入れready.js
られ、同じフォルダーにあります。joomla_root/customJS
1.js
2.js
3.js
しかし、これら 3 つのファイルをロードすると、すべて 404 エラーが返されます。
SEF が有効になっている場合、それらをロードするページの URL はlocalhost/index.php/pages/blog
(実際のフォルダpages
でblog
はなくメニュー項目です) であり、ページはロードしようとしていますlocalhost/index.php/pages/1.js
。
これを克服するために相対パスを使用できますloadJS('../../customJS/1.js')
が、信頼できません。メニュー項目blog
にサブメニューがある場合、そのページでブラウザはロードを試みlocalhost/index.php/1.js
、404 エラーを返します。
では、この問題にどう対処するか?