diff options
author | Stefan Parviainen <saparvia@caterva.eu> | 2015-01-01 12:32:15 +0100 |
---|---|---|
committer | Stefan Parviainen <saparvia@caterva.eu> | 2015-01-01 12:32:15 +0100 |
commit | 9557908875af76d167797a36e980798349fc63b5 (patch) | |
tree | 8033d8edd0a16ae3d176080ca360d4eb414277ed /library/jquery.AreYouSure/ays-beforeunload-shim.js | |
parent | 93b94704878c1b66ee95987de2b24dc39163763a (diff) | |
download | volse-hubzilla-9557908875af76d167797a36e980798349fc63b5.tar.gz volse-hubzilla-9557908875af76d167797a36e980798349fc63b5.tar.bz2 volse-hubzilla-9557908875af76d167797a36e980798349fc63b5.zip |
Warn about unsaved settings using jquery.areyousure
Diffstat (limited to 'library/jquery.AreYouSure/ays-beforeunload-shim.js')
-rw-r--r-- | library/jquery.AreYouSure/ays-beforeunload-shim.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/library/jquery.AreYouSure/ays-beforeunload-shim.js b/library/jquery.AreYouSure/ays-beforeunload-shim.js new file mode 100644 index 000000000..cb864cdeb --- /dev/null +++ b/library/jquery.AreYouSure/ays-beforeunload-shim.js @@ -0,0 +1,31 @@ +/*! + * An experimental shim to partially emulate onBeforeUnload on iOS. + * Part of https://github.com/codedance/jquery.AreYouSure/ + * + * Copyright (c) 2012-2014, Chris Dance and PaperCut Software http://www.papercut.com/ + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Author: chris.dance@papercut.com + * Date: 19th May 2014 + */ +$(function() { + if (!navigator.userAgent.toLowerCase().match(/iphone|ipad|ipod|opera/)) { + return; + } + $('a').bind('click', function(evt) { + var href = $(evt.target).closest('a').attr('href'); + if (href !== undefined && !(href.match(/^#/) || href.trim() == '')) { + var response = $(window).triggerHandler('beforeunload', response); + if (response && response != "") { + var msg = response + "\n\n" + + "Press OK to leave this page or Cancel to stay."; + if (!confirm(msg)) { + return false; + } + } + window.location.href = href; + return false; + } + }); +}); |