Rumah >hujung hadapan web >html tutorial >Perwakilan URL dalam halaman web HTML_HTML/Xhtml_Pengeluaran halaman web

Perwakilan URL dalam halaman web HTML_HTML/Xhtml_Pengeluaran halaman web

WBOY
WBOYasal
2016-05-16 16:42:351602semak imbas

Dalam HTML, URL biasa dinyatakan dalam pelbagai cara:
URL Relatif:

Salin kod
Kod adalah sebagai berikut :

example.php
demo/example.php
./example.php
../../example.php
/example.php

URL Mutlak:

Salin kod
Kodnya adalah seperti berikut:

http://jb51.net/example.php
http://jb51.net:80/example.php
https://jb51.net/example.php

Pada masa yang sama, terdapat sejumlah besar nilai atribut elemen dalam HTML yang merupakan URL Secara amnya, terdapat dua kaedah untuk mendapatkan nilai atribut URL ini menggunakan JavaScript:

Salin kod
Kodnya adalah seperti berikut:

URL mutlak halaman pada masa ini ialah http://jb51.net/
<script> <br>var oA = document.getElementById( 'contoh-a'); <br>oA.href == 'http://jb51.net/example.php' ; <br>oA.getAttribute('href') == 'example.php'; ></script>

Kami berharap untuk mendapatkan URL mutlak yang lengkap dengan mengakses atribut asalnya melalui kaedah getAttribute semua penyemak imbas A-level, hanya Firefox dan IE8 boleh berjaya memperoleh hasil ini Pelayar lain mempunyai lebih atau kurang keadaan istimewa , sila lihat contoh tunjuk cara untuk atribut tertentu yang wujud.
Masalah dalam kebanyakan penyemak imbas ialah kedua-dua kaedah mengembalikan nilai atribut asal, tetapi dalam aplikasi sebenar, perkara yang sering diperlukan ialah URL mutlaknya Penyelesaian dalam "Berurusan dengan nilai HREF yang tidak layak" terlalu rumit, berikut ialah a penyelesaian yang agak mudah, yang akan menjadi sangat mudah jika anda tidak menganggap perbezaan dalam kod penyemak imbas:

Ini URL mutlak halamannya ialah http://jb51.net/



Salin kod Kod adalah sebagai berikut:

var oForm = document.getElementById('example-form'); .action == 'example.php';
oA.getAttribute('action') == 'example.php'; ) == 'http://jb51.net/example.php';
getQualifyURL = function(oEl,sAttr){
var sUrl = oEl[sAttr],
oD,
bDo = palsu ;
//Adakah ia versi sebelum IE8
//http://www.thespanner.co.uk/2009/01/29/detecting-browsers-javascript-hacks/
//http :/ /msdn.microsoft.com/en-us/library/7kx09ct1(VS.80).aspx
/*@cc_on
cuba{
bDo = @_jscript_version < ;
}tangkap(e){
bDo = false;
}
@*/
//Jika Safari, Chrome dan Opera
if(/a/.__proto__ ==' //' ||. /source/.test((/a/.toString ''))
|| /^function (/.test([].sort)){
bDo = true ;
}
if(bDo){
oD = document.createElement('div'); oA = document. createElement('a');
oA.href = oEl[sAttr]; href="' ,sUrl,'">'].join('');
sUrl = oD.firstChild.href;
< ;/script>


Terdapat beberapa perkara yang lebih menarik tentang dua pelayar prasejarah IE6 dan IE7 Nilai atribut yang diperolehi oleh dua kaedah dalam elemen HTML A, AREA dan IMG adalah URL Mutlak Mujurlah, Microsoft menyediakan parameter kedua untuk getAttribute untuk menyelesaikan masalah ini. Ia juga boleh menyelesaikan masalah elemen IFEAM dan LINK bahawa kedua-dua kaedah yang disebutkan di atas mengembalikan atribut asal:





Salin kod


Kod adalah seperti berikut:


此时页面绝对URL是http://jb51.net/
<script> <br>var oA = document.getElementById('example-a'), <br>oLink = document.getElementById('example-a'); <br>oA.href == 'http://jb51.net/example.php'; <br>oA.getAttribute('href') == 'http://jb51.net/example.php'; <br>oA.getAttribute('href',2) == 'example.php'; <br>oLink.href == 'example.php'; <br>oLink.getAttribute('href') == 'example.php'; <br>oLink.getAttribute('href',4) == 'http://jb51.net/example.php'; <br></script>
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn