Відповіді:
Ви можете використовувати .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-адреси (і, отже, немає атрибута хеша), ви також можете використовувати регулярний вираз:
var url = "www.example.com/task1/1.3.html#a_1"
var anchor = url.match(/#(.*)/)[1]
window.top.location.hash
натомість.