<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript" charset="utf-8"> <title>Page A</title> <script type="text/javascript"> function Call(page) { location.href = page; } </script> </head> <body> <h2>Page A</h2> <form name="Ctrl"> <input type="button" value="Page A を呼び出す" onClick="Call('page_a.html')"><br><br> <input type="button" value="Page B を呼び出す" onClick="Call('page_b.html')"><br><br> <input type="button" value="Page C を呼び出す" onClick="Call('page_c.html')"><br><br> </form> </body> </html> |
<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript" charset="utf-8"> <title>Page B</title> <script type="text/javascript"> window.onload = function() { window.alert("on load"); } window.onunload = function() { window.alert("on unload"); } function Call(page) { location.href = page; } </script> </head> <body> <h2>Page B</h2> <form name="Ctrl"> <input type="button" value="Page A を呼び出す" onClick="Call('page_a.html')"><br><br> <input type="button" value="Page B を呼び出す" onClick="Call('page_b.html')"><br><br> <input type="button" value="Page C を呼び出す" onClick="Call('page_c.html')"><br><br> </form> </body> </html> |
<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript" charset="utf-8"> <title>Page C</title> <script type="text/javascript"> window.onload=getCount; function getCount() { document.getElementById("str").textContent = "history=" + window.history.length; } function Call(page) { location.href = page; } </script> </head> <body> <h2>Page C</h2> <div id="str">history count</div> <form name="Ctrl"> <input type="button" value="Page A を呼び出す" onClick="Call('page_a.html')"><br><br> <input type="button" value="Page B を呼び出す" onClick="Call('page_b.html')"><br><br> <input type="button" value="Page C を呼び出す" onClick="Call('page_c.html')"><br><br> </form> </body> </html> |
記録 | 説明 |
---|---|
page_a.html | Page A を呼び出すときに記録 |
page_b.html | Page A から Page B を呼び出すときに記録 |
page_c.html | Page B から Page C を呼び出すときに記録 |
<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript" charset="utf-8"> <title>Page B</title> <script type="text/javascript"> function Call(page) { location.href = page; } function Back() { window.history.back(); } function Forward() { window.history.forward(); } </script> </head> <body> <h2>Page B</h2> <form name="Ctrl"> <input type="button" value="Page A を呼び出す" onClick="Call('page_a.html')"><br><br> <input type="button" value="Page B を呼び出す" onClick="Call('page_b.html')"><br><br> <input type="button" value="Page C を呼び出す" onClick="Call('page_c.html')"><br><br> <input type="button" value="Back を呼び出す" onClick="Back()"><br><br> <input type="button" value="Forward を呼び出す" onClick="Forward()"><br><br> </form> </body> </html> |
<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript" charset="utf-8"> <title>Page C</title> <script type="text/javascript"> function Call(page) { location.href = page; } function Jump(form) { var num = form.num.value; window.history.go(num); } </script> </head> <body> <h2>Page C</h2> <form name="Ctrl"> <input type="button" value="Page A を呼び出す" onClick="Call('page_a.html')"><br><br> <input type="button" value="Page B を呼び出す" onClick="Call('page_b.html')"><br><br> <input type="button" value="Page C を呼び出す" onClick="Call('page_c.html')"><br><br> <input type="text" name="num" value="-1" size=20><br><br> <input type="button" value="JUMP" onClick="Jump(this.form)"><br><br> </form> </body> </html> |
記録 | 説明 |
---|---|
page_a.html | Page A を呼び出すときに記録 |
page_b.html | Page A から Page B を呼び出すときに記録 |
page_c.html | Page B から Page C を呼び出すときに記録 |
<script type="text/javascript"> window.onload = getCount; function getCount() { document.getElementById("str").textContent = "history=" + window.history.length; history.replaceState(null, "page_a", "page_a.html"); } function Call(page) { location.href = page; } </script> </head> <body> <h2>Page C</h2> <div id="str">history count</div> <form name="Ctrl"> <input type="button" value="Page A を呼び出す" onClick="Call('page_a.html')"><br><br> <input type="button" value="Page B を呼び出す" onClick="Call('page_b.html')"><br><br> <input type="button" value="Page C を呼び出す" onClick="Call('page_c.html')"><br><br> </form> |
記録 | 説明 |
---|---|
page_a.html | Page A を呼び出すときに記録 |
page_b.html | Page A から Page B を呼び出すときに記録 |
page_a.html | Page C を Page A に書き換えます |
<script type="text/javascript"> window.onload=getCount; function getCount() { document.getElementById("str").textContent = "history=" + window.history.length; history.pushState(null, null, null); } function Call(page) { location.href = page; } </script> |
記録 | 説明 |
---|---|
page_a.html | Page A を呼び出すときに記録 |
page_b.html | Page A から Page B を呼び出すときに記録 |
page_c.html | Page B から Page C を呼び出すときに記録 |
null | pushState で追加します |
<script type="text/javascript"> window.onload=getCount; function getCount() { document.getElementById("str").textContent = "history=" + window.history.length; history.pushState(null, null, null); } window.addEventListener("popstate", function (e) { window.alert("← → キー"); history.pushState(null, null, null); return; }); function Call(page) { location.href = page; } </script> </head> |
<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript" charset="utf-8"> <title>Page C</title> <script type="text/javascript"> function Call(page) { location.href = page; } </script> </head> <body> <h2>Page C</h2> <form name="Ctrl"> <input type="button" value="Page A を呼び出す" onClick="Call('page_a.html')"><br><br> <input type="button" value="Page B を呼び出す" onClick="Call('page_b.html')"><br><br> <input type="button" value="Page C を呼び出す" onClick="Call('page_c.html')"><br><br> <input type="button" value="history_api.html を呼び出す" onClick="Call('history_api.html')"><br><br> </form> </body> </html> |