commit
bd33061c8a
|
@ -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;
|
||||
|
|
|
@ -157,20 +157,6 @@ function Ace2Inner(){
|
|||
|
||||
var scheduler = parent; // hack for opera required
|
||||
|
||||
// Ugly hack for Firefox 18
|
||||
// get the timeout and interval methods from the parent iframe
|
||||
// This hack breaks IE8 so be careful
|
||||
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
|
||||
try{
|
||||
setTimeout = scheduler.setTimeout;
|
||||
clearTimeout = scheduler.clearTimeout;
|
||||
setInterval = scheduler.setInterval;
|
||||
clearInterval = scheduler.clearInterval;
|
||||
}catch(err){
|
||||
// IE8 can panic here.
|
||||
}
|
||||
}
|
||||
|
||||
var textFace = 'monospace';
|
||||
var textSize = 12;
|
||||
|
||||
|
@ -4666,7 +4652,7 @@ function Ace2Inner(){
|
|||
{
|
||||
$(document).on("keydown", handleKeyEvent);
|
||||
// Hack for Opera to stop it firing twice on events
|
||||
if (/Opera[\/\s](\d+\.\d+)/.test(!navigator.userAgent)){
|
||||
if ($.browser.opera){
|
||||
$(document).on("keypress", handleKeyEvent);
|
||||
}
|
||||
$(document).on("keyup", handleKeyEvent);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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;
|
|
@ -2,4 +2,9 @@
|
|||
// Proviedes a require'able version of jQuery without leaking $ and jQuery;
|
||||
|
||||
require('./jquery');
|
||||
exports.jQuery = exports.$ = $.noConflict(true);
|
||||
var jq = window.$.noConflict(true);
|
||||
|
||||
//added the old browser recognition
|
||||
jq.browser = require('./jquery_browser').browser;
|
||||
|
||||
exports.jQuery = exports.$ = jq;
|
Loading…
Reference in New Issue