summaryrefslogtreecommitdiff
path: root/src/static
diff options
context:
space:
mode:
authorPeter 'Pita' Martischka <petermartischka@googlemail.com>2013-02-10 20:34:27 +0000
committerPeter 'Pita' Martischka <petermartischka@googlemail.com>2013-02-10 20:34:27 +0000
commit5e041aaedb934aaa08d62c6ba514ca3b22c6f4e4 (patch)
treee9b9f43dc54f24a3ffb7e0bf3742cd77d8a8dfd2 /src/static
parent60de52477cf2016f3a130e89d0d9255b4ef617fb (diff)
downloadetherpad-lite-5e041aaedb934aaa08d62c6ba514ca3b22c6f4e4.zip
Moved old jquery recognition to seperate file
Diffstat (limited to 'src/static')
-rw-r--r--src/static/js/ace2_common.js15
-rw-r--r--src/static/js/jquery_browser.js44
-rw-r--r--src/static/js/rjquery.js7
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