Respostas:
Você pode usar o .indexOf()
e .substring()
, assim:
var url = "www.aaa.com/task1/1.3.html#a_1";
var hash = url.substring(url.indexOf("#")+1);
Você pode experimentá-lo aqui , se não houver um #
, faça uma if(url.indexOf("#") != -1)
verificação como esta:
var url = "www.aaa.com/task1/1.3.html#a_1", idx = url.indexOf("#");
var hash = idx != -1 ? url.substring(idx+1) : "";
Se esse for o URL da página atual , você pode simplesmente usá window.location.hash
-lo e substituí-lo, #
se desejar.
url.split("#").pop()
- Mais lento, mas mais fácil.
Para a janela atual , você pode usar isto:
var hash = window.location.hash.substr(1);
Para obter o valor do hash da janela principal , use o seguinte:
var hash = window.top.location.hash.substr(1);
Se você possui uma string com um URL / hash, o método mais fácil é:
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();
Se você estiver usando jQuery, use o seguinte:
var hash = $(location).attr('hash');
var hash = window.location.hash.substr(1);
por causa de um JS ter ambas as funções substr / substring, elas são diferentes, mas, neste caso, as mesmas.
Usar
window.location.hash
para recuperar tudo além e incluindo o #
location.hash.slice(1)
se de usar se você não quiser a tag hash na string final!
estilo jQuery:
$(location).attr('hash');
Você pode usar o seguinte "truque" para analisar qualquer URL válido. Aproveita a propriedade especial relacionada ao href do elemento 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
Se você apenas possui uma string de URL simples (e, portanto, não possui um atributo hash), também pode usar uma expressão regular:
var url = "www.example.com/task1/1.3.html#a_1"
var anchor = url.match(/#(.*)/)[1]
window.top.location.hash
.