にアクセスするとHistory.js
次のコードが機能しますindex.html
が、直接アクセスしようとするとindex.html?info
、インデックスのコンテンツが表示されます。誰かが直接アクセスしようとしたときに、状態をどのように正確に検出することになっていますindex.html?info
か? また、初期状態もちゃんとできているか自信がありません。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>title</title>
<script src="js/jquery-1.10.2.min.js"></script>
<script src="js/jquery.history.js"></script>
</head>
<body>
<div id="content"></div>
<script>
History.Adapter.bind(window, 'statechange', function() {
var id = History.getState().data.id;
if (id == "index") {
$('#content').html('<button id="btn" type="button">get info</button>');
$('#btn').click(function() {
History.pushState({ id: "info" }, '', '?info');
});
}
if (id == "info") {
$('#content').html('here is some info');
}
});
History.pushState({ id: "index" }, '', '?index'); //do this otherwise nothing loads on first run
</script>
</body>
</html>