org.wicketstuff.jquery.ajaxbackbutton.res.history-manager.js Maven / Gradle / Ivy
/**
* Ajax History Manager
* Based on: http://www.zachleat.com/Projects/history/history.zip
* From blog: http://www.zachleat.com/web/2008/08/21/onhashchange-without-setinterval/
*/
var HistoryManager = {
currentHistoryItem : '',
getHistoryItem: function () {
Wicket.Log.error('getHI: ' + this.currentHistoryItem);
return this.currentHistoryItem;
},
setHistoryItem: function(item) {
this.currentHistoryItem = item;
Wicket.Log.error('setHI: ' + this.currentHistoryItem);
},
/**
* Appends new history entry into the hidden iframe if it is not already there
*
* @param {Object} newHash
*/
addHistoryEntry: function (newHash)
{
var that = this;
/*
* In Safari, changing the src/hash inside of an iframe doesn't
* create a new history entry. This will need to work to use
* this approach.
*
* See: https://bugs.webkit.org/show_bug.cgi?id=9166
*/
var iframe = jQuery('#historyIframe').contents();
if(jQuery('a:contains('+newHash+')').length === 0) {
jQuery('body', iframe).append('');
}
function changeHash(newHash)
{
jQuery('#historyIframe').get(0).contentWindow.document.location.hash = '#' + newHash;
that.setHistoryItem(newHash);
}
/*
* The following code will trigger scrolling in the hidden iframe
* With this flag we disable temporary the back button notification
*/
jQuery('#historyIframe').get(0).contentWindow.window.isBackButton = false;
if(jQuery.browser.opera) { // Opera wasn't recognizing new
© 2015 - 2025 Weber Informatics LLC | Privacy Policy