自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

javascript中使用a標簽獲取當前目錄的絕對路徑方法

開發(fā) 前端
這篇文章主要介紹了javascript中使用a標簽獲取當前目錄的絕對路徑方法,本文講解的方法比較特別,需要的朋友可以參考下
 

一談到路徑相關(guān)的問題,大家都會往window.location上想,確實這個對象提供了相當多的路徑信息,其中常用的就包括:

[[130790]]

1.location.href:當前頁面的完整url

2.location.pathname:當前url中的路徑名

3.location.hash:當前url中的錨點

4.location.search:當前url中的查詢參數(shù)

然而,location沒有一個屬性能直接獲得當前目錄(不含文件名)的絕對路徑。通過google我發(fā)現(xiàn)了一些錯誤的方法,比如說把url通過“/”分離成數(shù)組,把數(shù)組的***一項去掉以后再連接成字符串。但如果url中沒有指定文件名,結(jié)果就大錯特錯了。

根據(jù)以往編碼的經(jīng)驗,a元素的href屬性總是會返回絕對路徑,也就是說它具有把相對路徑轉(zhuǎn)成絕對路徑的能力。使用下面的代碼嘗試了一下,果然成了:

 

  1. var a = document.createelement('a'); 
  2. a.href = './'
  3. alert(a.href); 
  4. a = null

很不幸地,此方法在老舊的ie 6/7下無效,當執(zhí)行alert(a.href)時,彈出的仍然是“./”。后來,我發(fā)現(xiàn)在stackoverflow上也有人提出了這個問題,而解決方法也是很簡單的,只要把a通過innerhtml注入就可以了:

代碼如下:

 

  1. var div = document.createelement('div'); 
  2. div.innerhtml = '<a href=./></a>; 
  3. alert(div.firstchild.href); 
  4. div = null

有人可能會問:為何不用正則表達式?我的答案是:要考慮有無文件名的情況、有無錨點的情況、有無查詢參數(shù)的情況,這條正則表達式可能會挺復雜的。

責任編輯:王雪燕 來源: 站長網(wǎng)
相關(guān)推薦

2022-11-04 10:49:56

Linux文件

2010-03-18 08:48:30

Python入門

2010-06-23 17:26:01

2011-07-11 13:29:03

JAVA

2011-06-23 15:33:24

SEO

2009-08-06 18:31:57

C#相對路徑絕對路徑

2022-11-16 10:13:29

Linux相對路徑絕對路徑

2022-08-29 14:11:10

Linux絕對路徑相對路徑

2014-11-10 11:49:01

QCMSQCMS漏洞安全漏洞

2019-08-30 09:54:39

LinuxC語言文本編輯器

2019-04-23 15:20:26

JavaScript對象前端

2009-08-07 13:38:18

C#文件相對路徑

2009-08-07 13:24:35

C#獲取相對路徑

2023-10-22 08:39:13

Linux目錄切換

2022-08-26 13:56:30

模塊JavaScript

2020-09-23 08:53:48

父文件夾模塊Python

2015-04-17 16:44:22

swiftOC

2009-12-09 16:28:32

PHP路徑函數(shù)

2010-11-08 14:02:40

SQL Server系

2009-08-28 16:06:57

C#獲取當前路徑方法
點贊
收藏

51CTO技術(shù)棧公眾號