【问题标题】:Jquery relative and absolute pathjquery相对路径和绝对路径
【发布时间】:2013-07-14 03:01:06
【问题描述】:

我需要在 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");

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

【问题讨论】:

  • 你能重新提出你的问题吗?

标签: javascript jquery relative-path


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    您可以使用location js 变量

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

    location.origin 返回域和主机(即站点的根目录)
    对于上一个 URL,它将是
    www.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 > *`)
    

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

    【讨论】:

      猜你喜欢
      • 2014-02-06
      • 2010-09-15
      • 2015-02-09
      • 2010-12-17
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      • 2012-01-11
      • 2013-04-17
      相关资源
      最近更新 更多