首頁 web前端 html教學 HTML網頁中的URL表示方式_HTML/Xhtml_網頁製作

HTML網頁中的URL表示方式_HTML/Xhtml_網頁製作

May 16, 2016 pm 04:42 PM
html url

在HTML中,常見的URL有多種表示方式:
相對URL:

複製程式碼
複製程式碼


程式碼如下:


example.php
demo/example.php
./example.php
../../example.php
/example.php
../../example.php
/example.php
../../example.php /example.php ../../example.php /example.php ../../example.php
/example.php
../../example.php
/example.php
../../example.php
/example.php
../../example.php
/example。 >

絕對URL:

複製程式碼
代碼如下:

代碼如下:http://jb51.net/example.php
http://jb51.net:80/example.php
https://jb51.net/example.php


同時HTML中有大量的元素屬性值為URL,一般利用JavaScript取得這些URL屬性值有兩種方法:




複製程式碼

程式碼如下:
此時頁絕對URL是http://jb51.net/ a> <script> </script>var oA = document.getElementById('example-a');
oA.href == 'http://jb51.net/example.php';
oA.getAttribute('href') == 'example.php';



我們希望透過直接存取屬性的方式得到完整絕對URL,透過getAttribute方法得到其原始的屬性值,其實這是一個比較理想的結果,在所有的A級瀏覽器中,能順利得到這個結果的只有Firefox和IE8,其他瀏覽器都或多或少特殊情況,具體哪些元素的屬性存在什麼樣的情況請看演示實例。
在大部分瀏覽器中存在的問題是,兩種方式都返回的是原始屬性值,而實際應用中往往需要的是其絕對的URL,《Dealing with unqualified HREF values》中的解決方案太過於複雜,這裡提供一個相對簡單的解決方案,如果不考慮區別瀏覽器程式碼會非常簡單:

此時頁面絕對URL是http://jb51.net/






複製程式碼


程式碼如下:


<script> <br />var oForm = document.getElementById('example-form'); <br />//IE6、IE7、Safari、Chrome、Opera <br />oForm.action == 'example .php'; <br />oA.getAttribute('action') == 'example.php'; <br />//取得絕對URL的通用解決方案<br />getQualifyURL(oForm,'action') == 'http ://jb51.net/example.php'; <br />getQualifyURL = function(oEl,sAttr){ <br />var sUrl = oEl[sAttr], <br />oD, <br />bDo = falsese; <br />; //是否為IE8之前版本<br />//http://www.thespanner.co.uk/2009/01/29/detecting-browsers-javascript-hacks/ <br />//http://msdn.microsoft .com/en-us/library/7kx09ct1(VS.80).aspx <br />/*@cc_on <br />try{ <br />bDo = @_jscript_version < 5.8 ?true : @false; <br />}catch( e){ <br />bDo = false; <br />} <br />@*/ <br />//如果是Safari、Chrome和Opera <br />if(/a/.__proto__=='//' || /source/.test((/a/.toString '')) <br />|| /^function (/.test([].sort)){ </script>
bDo = true;
}
if(bDo){
oD = document.createElement('div');
/*
//DOM 操作得到的結果不會改變var oA = document.createElement('a' ); oA.href = oEl[sAttr]; oD.appendChild(oA); */
oD.innerHTML = [' '].join('');
sUrl = oD.firstChild.href; } return sUrl; } 在IE6和IE7這兩個史前的瀏覽器身上還有一些更有意思的事情,兩種方法在HTML元素A、AREA和IMG獲取的屬性值都是絕對URL,幸好微軟為getAttribute提供了第二個參數可以解決這個問題,同時也可以對IFEAM和LINK元素解決前面提到的兩種方法都回傳原始屬性的問題: 複製程式碼程式碼如下:

<link href="../../example.css" id="example-link">
<a href="example.php" id="example-a">今回の页面绝对URLはhttp://jb51.net/</a>

var oA = document.getElementById('example-a'),
oLink = document.getElementById('example-a');
oA.href == 'http://jb51.net/example.php';
oA.getAttribute('href') == 'http://jb51.net/example.php';
oA.getAttribute('href',2) == 'example.php';
oLink.href == 'example.php';
oLink.getAttribute('href') == 'example.php';
oLink.getAttribute('href',4) == 'http://jb51.net/example.php';
</script>
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

HTML 中的巢狀表

HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 中的表格邊框

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

在 HTML 中移動文字

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

您如何在PHP中解析和處理HTML/XML?

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕

See all articles