Вы можете использовать location.hash
(часть URL после #) , чтобы установить "жесткие ссылки" при отключении JavaScript. Это не приводит к перезагрузке страницы, как при изменении location.href
, но вы можете извлечь значение и использовать его в JavaScript.
Рассмотрим этот пример:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
<title>Hash test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
window.onload = function() {
// The substring(1) removes the # from the hash.
var hash = window.location.hash.substring(1);
// Use a default value if no has was passed.
if(hash == '') {
hash = 'Nothing';
}
// Use the value.
document.getElementById('selection').innerHTML = hash;
}
/** Sets the hash and updates the page value */
function setHash(newHash) {
window.location.hash = newHash;
document.getElementById('selection').innerHTML = newHash;
}
</script>
</head>
<body>
<div>
<div>
<a href="javascript: void();" onclick="setHash('page1');">Page 1</a> |
<a href="javascript: void();" onclick="setHash('page2');">Page 2</a> |
<a href="javascript: void();" onclick="setHash('page3');">Page 3</a>
</div>
<div>
You have selected: <span id="selection">...</span>
</div>
</div>
</body>
</html>
Когда вы нажимаете на одну из ссылок на странице, location.hash
изменяется, URL-адрес браузера обновляется, а значение, используемое на странице, изменяется. Если пользователь затем скопирует URL-адрес непосредственно из адресной строки или добавит его в закладки, выбранная страница будет перезагружена при повторном запросе URL-адреса.