123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <html>
- <head>
- <script language="JavaScript" type="text/javascript">
- // Dojo configuration
- djConfig = {
- //debugAtAllCosts: true, //Don't normally need this in applications.
- isDebug: true,
- dojoIframeHistoryUrl: "../../resources/iframe_history.html", //for xdomain
- preventBackButtonFix: false
- };
- </script>
- <script type="text/javascript"
- src="../dojo.js"
- djConfig="isDebug:true, dojoIframeHistoryUrl: '../resources/iframe_history.html'"></script>
- <script type="text/javascript" src="../back.js"></script>
- <script type="text/javascript">
- ApplicationState = function(stateData, outputDivId, backForwardOutputDivId, bookmarkValue){
- this.stateData = stateData;
- this.outputDivId = outputDivId;
- this.backForwardOutputDivId = backForwardOutputDivId;
- this.changeUrl = bookmarkValue || false;
- }
-
- dojo.extend(ApplicationState, {
- back: function(){
- this.showBackForwardMessage("BACK for State Data: " + this.stateData);
- this.showStateData();
- },
- forward: function(){
- this.showBackForwardMessage("FORWARD for State Data: " + this.stateData);
- this.showStateData();
- },
- showStateData: function(){
- dojo.byId(this.outputDivId).innerHTML += this.stateData + '<br />';
- },
- showBackForwardMessage: function(message){
- dojo.byId(this.backForwardOutputDivId).innerHTML += message + '<br />';
- }
- });
-
- var data = {
- link0: "This is the initial state (page first loaded)",
- "link with spaces": "This is data for a state with spaces",
- "link%20with%20encoded": "This is data for a state with encoded bits",
- "link+with+pluses": "This is data for a state with pluses",
- link1: "This is data for link 1",
- link2: "This is data for link 2",
- link3: "This is data for link 3",
- link4: "This is data for link 4",
- link5: "This is data for link 5",
- link6: "This is data for link 6",
- link7: "This is data for link 7"
- };
- function goNav(id){
- var appState = new ApplicationState(data[id], "output", "dataOutput", id);
- appState.showStateData();
- dojo.back.addToHistory(appState);
- }
- dojo.addOnLoad(function(){
- var appState = new ApplicationState(data["link0"], "output", "dataOutput");
- appState.showStateData();
- dojo.back.setInitialState(appState);
- });
- </script>
- </head>
- <body>
- <script type="text/javascript">dojo.back.init();</script>
- <div style="padding-bottom: 20px; width: 100%; border-bottom: 1px solid gray">
- <h3>dojo.back test</h3>
-
-
- <p>This page tests the dojo.back back/forward code. It <b>does not</b>
- use the bookmarking facility of dojo.back. For that test,
- see <a href="back-bookmark.html">back-bookmark.html</a>.</p>
-
- <p>The buttons that start with "Link" on them don't use any dojo.xhr* calls,
- just JS data already in the page.</p>
-
- <ul>
- <li>Don't test this page using local disk for MSIE. MSIE will not
- create a history list for iframe_history.html if served from a file:
- URL. Serve the test pages from a web server to test in that browser.</li>
- <li>Safari 2.0.3+ (and probably 1.3.2+): Only the back button works OK
- (not the forward button).</li>
- <li>Opera 8.5.3: Does not work.</li>
- <li>Konqueror: Unknown. The latest may have Safari's behavior.</li>
- </ul>
- </div>
- <div style="float:left; padding: 20px">
- <button onclick="goNav('link1')">Link 1</button><br />
- <button onclick="goNav('link with spaces')">Link with Spaces</button><br />
- <button onclick="goNav('link%20with%20encoded')">Link with Encoded</button><br />
- <button onclick="goNav('link+with+pluses')">Link with Pluses</button><br />
- <button onclick="goNav('link3')">Link 3</button><br />
- <button onclick="goNav('link4')">Link 4</button><br />
- <button onclick="goNav('link5')">Link 5</button><br />
- <button onclick="goNav('link6')">Link 6</button><br />
- <button onclick="goNav('link7')">Link 7</button><br />
- </div>
- <div style="float: left; padding: 20px">
- <b>Data Output:</b><br />
- <div id="output"></div>
- <hr />
- <i>Back/Forward Info:</i><br />
- <div id="dataOutput"></div>
- </div>
- </body>
- </html>
|