diff options
author | friendica <info@friendica.com> | 2013-11-26 13:24:36 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-11-26 13:24:36 -0800 |
commit | ed71567e5ce3cc5c9dd30acc0c2bc527960fa3da (patch) | |
tree | fa7d547a73835096460547eb268b198b613c1c3c /js/jquery-compat.js | |
parent | c8334fae82ba2428f5d2a4bd953deeadf97c58bc (diff) | |
download | volse-hubzilla-ed71567e5ce3cc5c9dd30acc0c2bc527960fa3da.tar.gz volse-hubzilla-ed71567e5ce3cc5c9dd30acc0c2bc527960fa3da.tar.bz2 volse-hubzilla-ed71567e5ce3cc5c9dd30acc0c2bc527960fa3da.zip |
create jquery-compat to hold deprecated jquery functions, load it before all the dependent js scripts
Diffstat (limited to 'js/jquery-compat.js')
-rw-r--r-- | js/jquery-compat.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/js/jquery-compat.js b/js/jquery-compat.js new file mode 100644 index 000000000..7bf912542 --- /dev/null +++ b/js/jquery-compat.js @@ -0,0 +1,71 @@ + +// provide jquery.browser so we can get rid of the migration toolkit + +jQuery.uaMatch = function( ua ) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || + /(webkit)[ \/]([\w.]+)/.exec( ua ) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || + /(msie) ([\w.]+)/.exec( ua ) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; +}; + + +// Don't clobber any existing jQuery.browser in case it's different +if ( !jQuery.browser ) { + matched = jQuery.uaMatch( navigator.userAgent ); + browser = {}; + + if ( matched.browser ) { + browser[ matched.browser ] = true; + browser.version = matched.version; + } + + // Chrome is Webkit, but Webkit is also Safari. + if ( browser.chrome ) { + browser.webkit = true; + } else if ( browser.webkit ) { + browser.safari = true; + } + + jQuery.browser = browser; +} + +jQuery.fn.toggle = function( fn, fn2 ) { + + // Don't mess with animation or css toggles + if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) { + return oldToggle.apply( this, arguments ); + } + + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); +}; |