| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 | <!DOCTYPE html><html><!--Copyright 2010 The Closure Library Authors. All Rights Reserved.Use of this source code is governed by the Apache License, Version 2.0.See the COPYING file for details.--><head><title>History Demo 3</title><link rel="stylesheet" href="css/demo.css"><style>body {  font-family: sans-serif;  font-size: 83%}table {  border: 1px solid #666;  background: lightblue;  margin: 1em auto;}td {  text-align: center;  padding: 0 0.5em 0.5em 0.5em;}.hidden-frame {  height: 0;  left: 0;  position: absolute;  top: 0;  width: 0;}</style></head><body><p>This page demonstrates a goog.History object used in an iframe. Loading JScode in an iframe is useful for large apps because the JS code can be sent inbite-sized script blocks that browsers can evaluate incrementally, as they arereceived over the wire.</p><p>For an introduction to the goog.History object, see <ahref="history1.html">history1.html</a> and <ahref="history2.html">history2.html</a>. This demo uses visible history, likethe first demo.</p><p>Try following the hash links below, or updating the location with your owntokens. Replacing the token will update the page address without appending anew history entry.</p><p>  Set #fragment<br>  <a href="#first">first</a><br>  <a href="#second">second</a><br>  <a href="#third">third</a></p><p>  Set Token<br><button onclick="setToken('//\\\\/\\/\\');">//\\/\/\</button><button onclick="setToken('{\'a\': \'123\', \'b\': \'456\'}');">  {'a': '123', 'b': '456'}</button><button onclick="setToken('!@#$%^&*()_+-={}[]\\|;\':",./<>?');">  !@#$%^&*()_+-={}[]\|;':",./<></button><button onclick="setToken('%2F/foo');">%2F/foo</button><button onclick="setToken('%20   02%');">%20   02%</button></p><p><input type="text" id="token_input"><button onclick="setToken()">Set Token</button><button onclick="replaceToken()">Replace Current Token</button></p><table><tr><td><h3>The current history state:</h3><div id="token_output"></div></td></tr></table><p>The state should be correctly restored after you<a href="http://www.google.com/">leave the page</a> and hit the back button.</p><fieldset class="goog-debug-panel">  <legend>Event Log</legend>  <div id="log"></div></fieldset><input type="text" id="hist_state" style="display:none"><iframe name="js" class="hidden-frame" src="history3js.html"></iframe><script>function setToken(opt_val) {  if (js && js.googHist) {    var input = document.getElementById('token_input');    js.googHist.setToken(opt_val || input.value);  }  return false;}function replaceToken() {  if (js && js.googHist) {    var input = document.getElementById('token_input');    js.googHist.replaceToken(input.value);  }  return false;}</script></body></html>
 |