Cara menggunakan teg A untuk mendapatkan laluan mutlak direktori semasa dalam petua Javascript_javascript

WBOY
Lepaskan: 2016-05-16 16:11:44
asal
1762 orang telah melayarinya

Apabila bercakap tentang isu berkaitan laluan, semua orang akan memikirkan window.location Sesungguhnya, objek ini menyediakan banyak maklumat laluan, antaranya yang biasa digunakan termasuk:

1.location.href: URL lengkap halaman semasa
2.location.pathname: Nama laluan dalam URL semasa
3.location.hash: Titik utama
dalam URL semasa 4.location.search: parameter pertanyaan dalam URL semasa

Walau bagaimanapun, lokasi tidak mempunyai atribut yang boleh terus mendapatkan laluan mutlak direktori semasa (tidak termasuk nama fail). Melalui Google, saya menemui beberapa kaedah yang salah, seperti memisahkan URL ke dalam tatasusunan melalui "/", mengalih keluar item terakhir tatasusunan dan kemudian menggabungkannya menjadi rentetan. Tetapi jika nama fail tidak dinyatakan dalam URL, hasilnya adalah salah sama sekali.

Berdasarkan pengalaman pengekodan yang lalu, atribut href bagi elemen akan sentiasa mengembalikan laluan mutlak, yang bermaksud ia mempunyai keupayaan untuk menukar laluan relatif kepada laluan mutlak. Saya mencubanya menggunakan kod berikut, dan ia berjaya:

Salin kod Kod adalah seperti berikut:

var a = document.createElement('a');
a.href = './';
makluman(a.href);
a = null;

Malangnya, kaedah ini tidak sah di bawah IE 6/7 lama Apabila amaran(a.href) dilaksanakan, "./" masih muncul. Kemudian, saya mendapati bahawa seseorang juga telah bertanya soalan ini pada Stackoverflow, dan penyelesaiannya adalah sangat mudah. ​​Hanya suntikan melalui innerHTML:
Salin kod Kod adalah seperti berikut:

var div = document.createElement('div');
div.innerHTML = '";
makluman(div.firstChild.href);
div = null;

Seseorang mungkin bertanya: Mengapa tidak menggunakan ungkapan biasa? Jawapan saya ialah: Anda perlu mempertimbangkan sama ada terdapat nama fail, sama ada terdapat titik sauh, dan sama ada terdapat parameter pertanyaan Ungkapan biasa ini mungkin agak rumit.
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan