7

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

问题是网站索引中的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

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

实际上 :

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

这有可能还是在 jquery 文件中计算?- 我尝试并没有工作......

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

这真的是我的问题,谢谢

4

2 回答 2

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 的相对路径基于它写入的文件。

于 2013-07-16T04:42:49.050 回答
2

这已经很晚了......
但我正在使用这个方法,我只是在这里添加它,以防将来有人需要它:
我在尝试使用不同页面中存在的相同加载语句时遇到了这个问题URL(网站的不同部分)

你可以使用locationjs 变量

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:(无关)我今天发现你可以使用 > * 来加载另一个标签内的所有内容,例如:

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

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

于 2018-04-06T08:06:34.223 回答