[英]Jquery relative and absolute 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");
這真是我的問題,感謝您的問候
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相對路徑基於它所寫的文件。
這是非常晚了...
但我正在使用這種方法,我只是在這里添加它,以防將來有人需要它:
嘗試從不同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 :(無關)我今天發現你可以使用> *來加載另一個標簽內的所有內容,例如:
$('#my_tag').load(`${location.origin}/mypath/mypage #my_tag > *`)
會將/mypath/mypage
中存在的#my_tag中的所有HTML加載到當前頁面的#my_tag中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.