Respuestas:
Puede usar .indexOf()
y .substring()
, así:
var url = "www.aaa.com/task1/1.3.html#a_1";
var hash = url.substring(url.indexOf("#")+1);
Puede intentarlo aquí , si no tiene una #
, haga una if(url.indexOf("#") != -1)
comprobación como esta:
var url = "www.aaa.com/task1/1.3.html#a_1", idx = url.indexOf("#");
var hash = idx != -1 ? url.substring(idx+1) : "";
Si esta es la URL de la página actual , puede usarla window.location.hash
para obtenerla y reemplazarla #
si lo desea.
url.split("#").pop()
- Más lento pero más fácil.
Para la ventana actual , puede usar esto:
var hash = window.location.hash.substr(1);
Para obtener el valor hash de la ventana principal , use esto:
var hash = window.top.location.hash.substr(1);
Si tiene una cadena con una URL / hash, el método más fácil es:
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();
Si está utilizando jQuery, use esto:
var hash = $(location).attr('hash');
var hash = window.location.hash.substr(1);
debido a que un JS tiene ambas funciones substr / substring, son diferentes, pero en este caso son las mismas.
Utilizar
window.location.hash
para recuperar todo más allá e incluir el #
location.hash.slice(1)
si no desea la etiqueta hash en la cadena final!
Estilo jQuery:
$(location).attr('hash');
Puede usar el siguiente "truco" para analizar cualquier URL válida. Se aprovecha del elemento de anclaje propiedad href relacionada con especial 's, 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
Si solo tiene una cadena de URL simple (y, por lo tanto, no tiene un atributo hash), también puede usar una expresión regular:
var url = "www.example.com/task1/1.3.html#a_1"
var anchor = url.match(/#(.*)/)[1]
window.top.location.hash
en su lugar.