Adding to Your Page

To use dojo.back:

  • Define preventBackButtonFix: false in your djConfig like this:. /* GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter) */ .geshifilter {font-family: monospace;} .geshifilter .imp {font-weight: bold; color: red;} .geshifilter .kw1 {color: #b1b100;} .geshifilter .kw2 {color: #000000; font-weight: bold;} .geshifilter .kw3 {color: #000066;} .geshifilter .coMULTI {color: #808080; font-style: italic;} .geshifilter .es0 {color: #000099; font-weight: bold;} .geshifilter .br0 {color: #66cc66;} .geshifilter .st0 {color: #ff0000;} .geshifilter .nu0 {color: #cc66cc;} .geshifilter .sc0 {color: #00bbdd;} .geshifilter .sc1 {color: #ddbb00;} .geshifilter .sc2 {color: #009900;}
    <script type="text/javascript"  src="../dojo.js"
        djConfig="preventBackButtonFix: false">

    </script>
    This allows the hidden iframe to be added to the current page via a document.write(). If you do not do this, dojo.back will not work correctly.
  • Add the appropriate require statement:
    dojo.require("dojo.back");

Register the initial state of the page by calling:

dojo.back.setInitialState(state);

This state object will be called when the user clicks Back all the way back to the start of the web application. If the user clicks Back once more, they will go back in the browser to wherever they were before loading the web application.

The state object should have the following functions defined:

  • For receiving Back notifications: back(), backButton() or handle(type), where type will either be the string "back" or "forward".
  • For receiving Forward notifications: forward(), forwardButton() or handle(type), where type will either be the string "back" or "forward".

Example of the a very simple state object:

var state = {
	back: function() { alert("Back was clicked!"); },
	forward: function() { alert("Forward was clicked!"); }
};

To register a state object that represents the result of a user action, use the following call:

dojo.back.addToHistory(state);

To change the URL in the browser's location bar, include a changeUrl property on the state object. If this property is set to true, dojo.back will generate a unique value for the fragment identifier. If it is set to any other value (except undefined, null, 0 or empty string), then that value will be used as the fragment identifier. This will allow users to bookmark the page.