3 <script language="JavaScript" type="text/javascript">
6 //debugAtAllCosts: true, //Don't normally need this in applications.
8 dojoIframeHistoryUrl: "../../resources/iframe_history.html" //for xdomain
11 <script type="text/javascript"
13 djConfig="isDebug:true, dojoIframeHistoryUrl: '../resources/iframe_history.html'"></script>
14 <script type="text/javascript" src="../back.js"></script>
15 <script type="text/javascript">
16 ApplicationState = function(stateData, outputDivId, backForwardOutputDivId, bookmarkValue){
17 this.stateData = stateData;
18 this.outputDivId = outputDivId;
19 this.backForwardOutputDivId = backForwardOutputDivId;
20 this.changeUrl = bookmarkValue || false;
23 dojo.extend(ApplicationState, {
25 this.showBackForwardMessage("BACK for State Data: " + this.stateData);
29 this.showBackForwardMessage("FORWARD for State Data: " + this.stateData);
32 showStateData: function(){
33 dojo.byId(this.outputDivId).innerHTML += this.stateData + '<br />';
35 showBackForwardMessage: function(message){
36 dojo.byId(this.backForwardOutputDivId).innerHTML += message + '<br />';
41 link0: "This is the initial state (page first loaded)",
42 "link with spaces": "This is data for a state with spaces",
43 "link%20with%20encoded": "This is data for a state with encoded bits",
44 "link+with+pluses": "This is data for a state with pluses",
45 link1: "This is data for link 1",
46 link2: "This is data for link 2",
47 link3: "This is data for link 3",
48 link4: "This is data for link 4",
49 link5: "This is data for link 5",
50 link6: "This is data for link 6",
51 link7: "This is data for link 7"
55 var appState = new ApplicationState(data[id], "output", "dataOutput", id);
56 appState.showStateData();
57 dojo.back.addToHistory(appState);
60 dojo.addOnLoad(function(){
61 var appState = new ApplicationState(data["link0"], "output", "dataOutput");
62 appState.showStateData();
63 dojo.back.setInitialState(appState);
68 <script type="text/javascript">dojo.back.init();</script>
69 <div style="padding-bottom: 20px; width: 100%; border-bottom: 1px solid gray">
70 <h3>dojo.back test</h3>
73 <p>This page tests the dojo.back back/forward code.</p>
75 <p>The buttons that start with "Link" on them don't use any dojo.xhr* calls,
76 just JS data already in the page.</p>
79 <li>Don't test this page using local disk for MSIE. MSIE will not
80 create a history list for iframe_history.html if served from a file:
81 URL. Serve the test pages from a web server to test in that browser.</li>
82 <li>Safari 2.0.3+ (and probably 1.3.2+): Only the back button works OK
83 (not the forward button).</li>
84 <li>Opera 8.5.3: Does not work.</li>
85 <li>Konqueror: Unknown. The latest may have Safari's behavior.</li>
88 <div style="float:left; padding: 20px">
89 <button onclick="goNav('link1')">Link 1</button><br />
90 <button onclick="goNav('link with spaces')">Link with Spaces</button><br />
91 <button onclick="goNav('link%20with%20encoded')">Link with Encoded</button><br />
92 <button onclick="goNav('link+with+pluses')">Link with Pluses</button><br />
93 <button onclick="goNav('link3')">Link 3</button><br />
94 <button onclick="goNav('link4')">Link 4</button><br />
95 <button onclick="goNav('link5')">Link 5</button><br />
96 <button onclick="goNav('link6')">Link 6</button><br />
97 <button onclick="goNav('link7')">Link 7</button><br />
99 <div style="float: left; padding: 20px">
100 <b>Data Output:</b><br />
101 <div id="output"></div>
103 <i>Back/Forward Info:</i><br />
104 <div id="dataOutput"></div>