Javascript最佳实践:从函数中的不同位置调用文件
我对包含函数的javascript文件有问题。 我有两个文件,包括javascript文件和包含的函数。 结构可以这样看,例如:Javascript最佳实践:从函数中的不同位置调用文件,javascript,Javascript,我对包含函数的javascript文件有问题。 我有两个文件,包括javascript文件和包含的函数。 结构可以这样看,例如: /var/www/file1.jsp /var/www/content/file2.jsp 两者都包含带有doSomething()函数的文件include.js 该函数通过GET调用位于服务器上的另一个文件。 例如,该文件位于/var/www/index.jsp 如何使用相对路径从函数中调用index.jsp(绝对路径在此上下文中不可能)是最好的方法。 问题是fi
/var/www/file1.jsp
/var/www/content/file2.jsp
两者都包含带有doSomething()函数的文件include.js
该函数通过GET调用位于服务器上的另一个文件。
例如,该文件位于/var/www/index.jsp
如何使用相对路径从函数中调用index.jsp
(绝对路径在此上下文中不可能)是最好的方法。
问题是
file1.jsp
和file2.jsp
包含.js文件的上下文不同,因此函数的当前路径在这两种情况下都不同。假设index.jsp
始终位于同一位置,我将从window.location.href
解析绝对url,并在doSomething()中构建路径index.jsp
编辑:
更好的方法是让浏览器为您进行url解析。使用window.location.hostname
,然后与域的根目录相关的index.jsp
硬编码路径连接。将连接的字符串馈送到GEt请求中,一切都应该正常。然后如何分割URL,以便获取file1.jsp
或content/file2.jsp
请参见上面的编辑。通过使用根目录作为相对路径的基础(与当前上下文相反),无论doSomething()
位于何处,都可以硬编码到index.jsp的相对路径(前提是不移动该文件)。