Jquery相对和绝对路径

时间:2013-07-16 04:19:58

标签: javascript jquery relative-path

我需要在jquery中确定这个路径,实际上我有一个名为functions.js的文件,并且在这个函数内部用于加载url和jquery

问题是网站索引中的js加载和子文件夹中的文件

<script src="http://www.domain.com/wp-content/includes/themes/mytheme/js/functions.js"></script>

js在网站索引中调用它进入wp-content / includes / themes / mytheme / js

加载jquery调用:wp-content / includes / themes / mytheme / index_loader.php

我可以在jquery中将index_loader.php的绝对路径放入,但我的问题是它是否可以不使用它并计算到js文件的路径

实际上:

$("#test").load("http://www.domain.com/wp-content/includes/mytheme/index_loader.php");

这有可能或在jquery文件中计算? - 我试着没有作品......

$("#test").load("../index_loader.php");

这真的是我的问题,谢谢你的问候

2 个答案:

答案 0 :(得分:6)

JavaScript工作的方式,它从它调用的文件加载,现在是它所写的文件。

为了满足您的需要,您需要提供您正在查看的当前页面的相对路径。

示例:

如果当前页面为http://www.domain.com,则您需要执行以下操作:

$("#test").load("wp-content/includes/mytheme/index_loader.php");

如果当前页面为http://www.domain.com/wp-content/index.php,则您需要执行以下操作:

$("#test").load("includes/mytheme/index_loader.php");

作为旁注,CSS的方式不一样,而CSS的相对路径则基于它所写的文件。

答案 1 :(得分:1)

这是非常晚... 但是我使用这种方法,我只是在这里添加它,以防将来有人需要它:
尝试从不同URL(网站的不同部分)中存在的页面使用相同的加载语句时出现此问题

您可以使用location js变量

location返回当前路径
例如wwww.blog.mysite.com/posts/postn25/comment64

location.origin返回域名和主机(因此网站的根目录)
对于以前的URL,它将是
wwww.blog.mysite.com/posts/postn25/comment64

所以当你这样做时

$('#my_tag').load(`${location.origin}/mypath/mypage`)

它总是从根目录开始寻找/mypath/mypage, 因此,即使域名发生变化,它仍然有效

PS :(无关) 我今天发现你可以使用&gt; *加载另一个标签内的所有内容,例如:

$('#my_tag').load(`${location.origin}/mypath/mypage #my_tag > *`)

会将/mypath/mypage中存在的#my_tag中的所有HTML加载到当前页面的#my_tag中