我正在一個網站上,我的文件結構的相關部分是:如何使用include()使相對文件路徑工作?
- 網站
- 類
- class1的
- JS
- 類
現在,js包含使用同一文件夾內的其他腳本的腳本。我可以讓腳本在php頁面上正確加載的唯一方法是將整個js文件夾複製到相關的子文件夾中,或將頁面移動到站點文件夾。這些選項都不是很好。
我知道問題出在文件路徑上,那麼如何才能讓js腳本中的包含路徑相對於它們的位置而不是php頁面的位置呢?
這方面的一個例子:
我在class1中有一個名爲class1home.php的頁面。
它調用一個名爲script.js的js腳本。
script.js包含include(script2.js)函數,它位於js文件夾中。
由於路徑,include正在尋找site/classes/class1/script2.js。
我想讓它去site/js/script2.js。
因爲使用script2.js有多個文件夾和腳本,所以我不能僅僅改變include中的文件路徑就是相對於那個特定的頁面。
內的script.js:
/**
* @function Include
* @description Includes an external scripts to the page
* @param {string} scriptUrl
*/
function include(scriptUrl) {
document.write('<script src="' + scriptUrl + '"></script>');
}
一個地方它被使用(內的script.js):
/**
* @module ToTop
* @description Enables ToTop Plugin
*/
(function ($) {
var o = $('html');
if (o.hasClass('desktop')) {
include('js/jquery.ui.totop.min.js');
$(document).ready(function() {
$().UItoTop({
easingType: 'easeOutQuart',
containerClass: 'ui-to-top fa fa-angle-up'
});
});
}
})($);
誰明白這個問題? – Lekhnath
我認爲一些示例代碼可能會幫助我們理解並幫助某人提供有用的答案 – RiggsFolly
我已用示例更新了該問題 –