我正在尝试编写一些自定义 JS 代码来加载 joomla 网站中的其他 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 错误。
那么如何处理这个问题呢?