Ответы:
Вы можете использовать .indexOf()
и .substring()
, как это:
var url = "www.aaa.com/task1/1.3.html#a_1";
var hash = url.substring(url.indexOf("#")+1);
Вы можете попробовать его здесь , если он может не содержать #
его, выполните if(url.indexOf("#") != -1)
проверку следующим образом:
var url = "www.aaa.com/task1/1.3.html#a_1", idx = url.indexOf("#");
var hash = idx != -1 ? url.substring(idx+1) : "";
Если это URL текущей страницы, вы можете просто использовать его window.location.hash
для получения и заменить, #
если хотите.
url.split("#").pop()
- Медленнее, но легче.
Для текущего окна вы можете использовать это:
var hash = window.location.hash.substr(1);
Чтобы получить значение хеша главного окна , используйте это:
var hash = window.top.location.hash.substr(1);
Если у вас есть строка с URL / хэшем, самый простой способ:
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();
Если вы используете jQuery, используйте это:
var hash = $(location).attr('hash');
var hash = window.location.hash.substr(1);
из-за JS есть обе функции substr / substring, они разные, но в этом случае одинаковые.
использование
window.location.hash
чтобы получить все, кроме и в том числе #
location.hash.slice(1)
если вам не нужен хеш-тег в последней строке!
JQuery стиль:
$(location).attr('hash');
Вы можете использовать следующий «трюк» для разбора любого действительного URL. Он использует преимущество специального свойства href элемента привязки ,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
Если у вас есть простая строка URL-адреса (и, следовательно, у вас нет атрибута hash), вы также можете использовать регулярное выражение:
var url = "www.example.com/task1/1.3.html#a_1"
var anchor = url.match(/#(.*)/)[1]
window.top.location.hash
вместо этого.