Yanıtlar:
Sen kullanabilirsiniz .indexOf()
ve .substring()
bu gibi:
var url = "www.aaa.com/task1/1.3.html#a_1";
var hash = url.substring(url.indexOf("#")+1);
Burada deneyebilirsiniz , içinde olmayabilirse #
, böyle bir if(url.indexOf("#") != -1)
kontrol yapın:
var url = "www.aaa.com/task1/1.3.html#a_1", idx = url.indexOf("#");
var hash = idx != -1 ? url.substring(idx+1) : "";
Bu geçerli sayfa URL'siyse, bunu window.location.hash
almak için kullanabilirsiniz ve #
isterseniz değiştirin .
url.split("#").pop()
- Daha yavaş ama daha kolay.
İçin geçerli pencerenin , bu kullanabilirsiniz:
var hash = window.location.hash.substr(1);
Ana pencerenin karma değerini almak için şunu kullanın:
var hash = window.top.location.hash.substr(1);
URL / karma içeren bir dizeniz varsa, en kolay yöntem:
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();
JQuery kullanıyorsanız, bunu kullanın:
var hash = $(location).attr('hash');
var hash = window.location.hash.substr(1);
bir JS nedeniyle hem substr / substring işlevleri vardır, bunlar farklıdır, ancak bu durumda aynıdır.
kullanım
window.location.hash
# ve ötesindeki her şeyi almak için
location.hash.slice(1)
Son dizede karma etiketini istemiyorsanız kullanmayı unutmayın !
jQuery tarzı:
$(location).attr('hash');
Geçerli herhangi bir URL'yi ayrıştırmak için aşağıdaki "hileyi" kullanabilirsiniz . Bu yararlanır çapa eleman 'ın özel href-ilişkili mülkiyet, hash
.
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
Yalnızca düz bir URL dizeniz varsa (ve bu nedenle bir hash özniteliğiniz yoksa) normal bir ifade de kullanabilirsiniz:
var url = "www.example.com/task1/1.3.html#a_1"
var anchor = url.match(/#(.*)/)[1]
window.top.location.hash
bunun yerine kullanmanız gerekir .