diff options
author | Peter 'Pita' Martischka <petermartischka@googlemail.com> | 2013-02-10 20:34:27 +0000 |
---|---|---|
committer | Peter 'Pita' Martischka <petermartischka@googlemail.com> | 2013-02-10 20:34:27 +0000 |
commit | 5e041aaedb934aaa08d62c6ba514ca3b22c6f4e4 (patch) | |
tree | e9b9f43dc54f24a3ffb7e0bf3742cd77d8a8dfd2 /src/static | |
parent | 60de52477cf2016f3a130e89d0d9255b4ef617fb (diff) | |
download | etherpad-lite-5e041aaedb934aaa08d62c6ba514ca3b22c6f4e4.zip |
Moved old jquery recognition to seperate file
Diffstat (limited to 'src/static')
-rw-r--r-- | src/static/js/ace2_common.js | 15 | ||||
-rw-r--r-- | src/static/js/jquery_browser.js | 44 | ||||
-rw-r--r-- | src/static/js/rjquery.js | 7 |
3 files changed, 51 insertions, 15 deletions
diff --git a/src/static/js/ace2_common.js b/src/static/js/ace2_common.js index 4e833892..7ad7ba0f 100644 --- a/src/static/js/ace2_common.js +++ b/src/static/js/ace2_common.js @@ -1,5 +1,5 @@ /** - * This code is mostly from the old Etherpad. Please help us to comment this code. + * This code is mostly from the old Etherpad. Please help us to comment this code. * This helps other people to understand this code better and helps them to improve it. * TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED */ @@ -34,18 +34,6 @@ function object(o) return new f(); } -var userAgent = (((function () {return this;})().navigator || {}).userAgent || 'node-js').toLowerCase(); - -var browser = { - version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], - safari: /webkit/.test(userAgent), - opera: /opera/.test(userAgent), - msie: /msie/.test(userAgent) && !/opera/.test(userAgent), - mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent), - windows: /windows/.test(userAgent), - mobile: /mobile/.test(userAgent) || /android/.test(userAgent) -}; - function getAssoc(obj, name) { return obj["_magicdom_" + name]; @@ -96,7 +84,6 @@ var noop = function(){}; exports.isNodeText = isNodeText; exports.object = object; -exports.browser = browser; exports.getAssoc = getAssoc; exports.setAssoc = setAssoc; exports.binarySearch = binarySearch; diff --git a/src/static/js/jquery_browser.js b/src/static/js/jquery_browser.js new file mode 100644 index 00000000..2bf69407 --- /dev/null +++ b/src/static/js/jquery_browser.js @@ -0,0 +1,44 @@ +/* + Copied from jQuery 1.8, the last jquery version with browser recognition support +*/ + +// Use of jQuery.browser is frowned upon. +// More details: http://api.jquery.com/jQuery.browser +// jQuery.uaMatch maintained for back-compat +var 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" + }; +}; + +var userAgent = navigator.userAgent; +var matched = uaMatch(userAgent); +var 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; +} + +//custom extensions, the original jquery didn't have these +browser.windows = /windows/.test(userAgent); +browser.mobile = /mobile/.test(userAgent) || /android/.test(userAgent); + +exports.browser = browser;
\ No newline at end of file diff --git a/src/static/js/rjquery.js b/src/static/js/rjquery.js index 21af074b..d9d1ed16 100644 --- a/src/static/js/rjquery.js +++ b/src/static/js/rjquery.js @@ -2,4 +2,9 @@ // Proviedes a require'able version of jQuery without leaking $ and jQuery; require('./jquery'); -exports.jQuery = exports.$ = $.noConflict(true);
\ No newline at end of file +var jq = window.$.noConflict(true); + +//added the old browser recognition +jq.browser = require('./jquery_browser').browser; + +exports.jQuery = exports.$ = jq;
\ No newline at end of file |