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:
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:
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:
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