亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        Javascript中使用A標(biāo)簽獲取當(dāng)前目錄的絕對路徑方法

        字號:


            這篇文章主要介紹了Javascript中使用A標(biāo)簽獲取當(dāng)前目錄的絕對路徑方法,本文講解的方法比較特別,需要的朋友可以參考下
            一談到路徑相關(guān)的問題,大家都會往window.location上想,確實(shí)這個對象提供了相當(dāng)多的路徑信息,其中常用的就包括:
            1.location.href:當(dāng)前頁面的完整URL
            2.location.pathname:當(dāng)前URL中的路徑名
            3.location.hash:當(dāng)前URL中的錨點(diǎn)
            4.location.search:當(dāng)前URL中的查詢參數(shù)
            然而,location沒有一個屬性能直接獲得當(dāng)前目錄(不含文件名)的絕對路徑。通過Google我發(fā)現(xiàn)了一些錯誤的方法,比如說把URL通過“/”分離成數(shù)組,把數(shù)組的最后一項(xiàng)去掉以后再連接成字符串。但如果URL中沒有指定文件名,結(jié)果就大錯特錯了。
            根據(jù)以往編碼的經(jīng)驗(yàn),a元素的href屬性總是會返回絕對路徑,也就是說它具有把相對路徑轉(zhuǎn)成絕對路徑的能力。使用下面的代碼嘗試了一下,果然成了:
            代碼如下:
            var a = document.createElement('a');
            a.href = './';
            alert(a.href);
            a = null;
            很不幸地,此方法在老舊的IE 6/7下無效,當(dāng)執(zhí)行alert(a.href)時,彈出的仍然是“./”。后來,我發(fā)現(xiàn)在Stackoverflow上也有人提出了這個問題,而解決方法也是很簡單的,只要把a(bǔ)通過innerHTML注入就可以了:
            代碼如下:
            var div = document.createElement('div');
            div.innerHTML = '<a href="./"></a>";
            alert(div.firstChild.href);
            div = null;
            有人可能會問:為何不用正則表達(dá)式?我的答案是:要考慮有無文件名的情況、有無錨點(diǎn)的情況、有無查詢參數(shù)的情況,這條正則表達(dá)式可能會挺復(fù)雜的。