1. Fungsi parsing url
Salinan kode adalah sebagai berikut:
<script>
/**
*@param {string} url alamat URL lengkap
*@returns {objek} objek khusus
*@Deskripsi Contoh Penggunaan: var myUrl = parseUrl ('http://abc.com:8080/dir/index.html?id=255&m=hello#top');
myurl.file = 'index.html'
myurl.hash = 'atas'
myurl.host = 'abc.com'
myurl.query = '? id = 255 & m = halo'
myurl.params = objek = {id: 255, m: halo}
myurl.path = '/dir/index.html'
myurl.segments = array = ['dir', 'index.html']
myurl.port = '8080'
myurl.protocol = 'http'
myurl.source = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
*/
fungsi parseurl (url) {
var a = document.createElement ('a');
A.href = url;
kembali {
Sumber: URL,
Protokol: a.protocol.replace (':', ''),
Tuan rumah: a.hostname,
Port: A.port,
Kueri: a.search,
params: (function () {
var ret = {},
seg = a.search.replace (/^/?/, ''). split ('&'),
len = seg.length, i = 0, s;
untuk (; i <len; i ++) {
if (! Seg [i]) {lanjutan; }
s = seg [i] .split ('=');
ret [S [0]] = S [1];
}
kembali kembali;
}) (),
File: (a.pathname.match (/// ([^//?#]+) $/i) || [, '']) [1],
hash: a.hash.replace ('#', ''),
Path: A.Pathname.replace (/^([^//])/, '/$ 1'),
Relatif: (a.href.match (/tps?: //// [^//]+(.+)/) || [, '']) [1],
segmen: a.pathname.replace (/^///, ''). split ('/')
};
}
// var myurl = parseUrl ('http://abc.com:8080/dir/index.html?id=255&m=hello#top');
var myUrl = parseUrl ('http: // localhost: 8080/test/mytest/tologina.ction? m = 123 & pid = abc');
peringatan (myurl.path);
peringatan (myurl.params.m);
peringatan (myurl.params.pid);
</script>
2. JS Analisis URL tersegmentasi
URL: Seragam Sumber Daya (URL)
URL lengkap terdiri dari bagian -bagian ini: skema: // host: port/path? Kueri#fragmen
Salinan kode adalah sebagai berikut:
skema = protokol komunikasi (http, ftp, maito, dll.
host = host (nama domain atau IP)
port = nomor port
jalur = jalur
kueri = kueri (opsional, digunakan untuk meneruskan parameter ke halaman web dinamis (seperti halaman web yang dibuat menggunakan CGI, isapi, php/jsp/asp/asp.net dan teknologi lainnya). Mungkin ada beberapa parameter, dipisahkan oleh simbol "&", dan nama dan nilai setiap parameter dipisahkan oleh "=" simbol.)
fragment = informasi fragmen (string yang digunakan untuk menentukan fragmen dalam sumber daya jaringan. Misalnya, jika ada beberapa penjelasan kata benda di halaman web, Anda dapat menggunakan fragmen untuk secara langsung menemukan penjelasan istilah tertentu. (Juga dikenal sebagai jangkar.))
Untuk url seperti itu
//www.vevb.com:80/seo/?ver=1.0&id=6#imhere
Kita bisa mendapatkan berbagai bagiannya dalam javascript
1, window.location.href
Seluruh string URL (bilah alamat lengkap di browser)
2, window.location.protocol
Bagian protokol dari URL
Contoh ini mengembalikan nilai: http:
3, window.location.host
Bagian tuan rumah dari URL
Nilai pengembalian dalam contoh ini: www.vevb.com
4, window.location.port
Bagian pelabuhan dari URL
Jika port 80 default digunakan (perbarui: bahkan jika: 80 ditambahkan), nilai pengembalian bukan default 80 tetapi karakter kosong
Contoh ini mengembalikan nilai: ""
5, window.location.pathname
Bagian jalur dari URL (yaitu alamat file)
Contoh ini mengembalikan nilai: /SEO /
6, window.location.search
Bagian query (parameter)
Selain menetapkan nilai ke bahasa dinamis, kami juga dapat memberikan halaman statis dan menggunakan JavaScript untuk mendapatkan nilai parameter yang diyakini.
Nilai pengembalian dalam contoh ini :? ver = 1.0 & id = 6
7, window.location.hash
Titik jangkar
Nilai pengembalian dalam contoh ini: #imhere