Jawaban:
Anda dapat menggunakan .indexOf()
dan .substring()
, seperti ini:
var url = "www.aaa.com/task1/1.3.html#a_1";
var hash = url.substring(url.indexOf("#")+1);
Anda dapat mencobanya di sini , jika mungkin tidak ada #
di dalamnya, lakukan if(url.indexOf("#") != -1)
pemeriksaan seperti ini:
var url = "www.aaa.com/task1/1.3.html#a_1", idx = url.indexOf("#");
var hash = idx != -1 ? url.substring(idx+1) : "";
Jika ini adalah URL halaman saat ini , Anda bisa menggunakannya window.location.hash
untuk mendapatkannya, dan ganti #
jika Anda mau.
url.split("#").pop()
- Lebih lambat tapi lebih mudah.
Untuk jendela saat ini , Anda dapat menggunakan ini:
var hash = window.location.hash.substr(1);
Untuk mendapatkan nilai hash dari jendela utama , gunakan ini:
var hash = window.top.location.hash.substr(1);
Jika Anda memiliki string dengan URL / hash, metode termudah adalah:
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();
Jika Anda menggunakan jQuery, gunakan ini:
var hash = $(location).attr('hash');
var hash = window.location.hash.substr(1);
karena JS memiliki kedua fungsi substr / substring, keduanya berbeda, tetapi dalam hal ini sama.
Menggunakan
window.location.hash
untuk mengambil semuanya di luar dan termasuk #
location.hash.slice(1)
jika Anda tidak ingin tag hash di string terakhir!
gaya jQuery:
$(location).attr('hash');
Anda dapat menggunakan "trik" berikut untuk mem - parsing URL yang valid. Ini mengambil keuntungan dari properti yang berhubungan dengan href khusus elemen anchorhash
,.
function getHashFromUrl(url){
return $("<a />").attr("href", url)[0].hash.replace(/^#/, "");
}
getHashFromUrl("www.example.com/task1/1.3.html#a_1"); // a_1
function getHashFromUrl(url){
var a = document.createElement("a");
a.href = url;
return a.hash.replace(/^#/, "");
};
getHashFromUrl("www.example.com/task1/1.3.html#a_1"); // a_1
Jika Anda hanya memiliki string url biasa (dan karena itu tidak memiliki atribut hash) Anda juga dapat menggunakan ekspresi reguler:
var url = "www.example.com/task1/1.3.html#a_1"
var anchor = url.match(/#(.*)/)[1]
window.top.location.hash
.