Difference between revisions of "Template:Waterloo"

(Undo revision 309846 by Mastwood (talk))
(Undo revision 309835 by Mastwood (talk))
Line 1: Line 1:
 
<html>
 
<html>
<script>
 
/* browser.js v0.1-dev | @ajlkn | MIT licensed */
 
  
var browser = (function() { "use strict"; var _ = {
 
 
/**
 
* Name.
 
* @var {string}
 
*/
 
name: null,
 
 
/**
 
* Version.
 
* @var {float}
 
*/
 
version: null,
 
 
/**
 
* OS.
 
* @var {string}
 
*/
 
os: null,
 
 
/**
 
* OS version.
 
* @var {float}
 
*/
 
osVersion: null,
 
 
/**
 
* Touch.
 
* @var {bool}
 
*/
 
touch: null,
 
 
/**
 
* Mobile.
 
* @var {bool}
 
*/
 
mobile: null,
 
 
/**
 
* Temporary element for canUse()
 
* @var {DOMElement}
 
*/
 
_canUse: null,
 
 
/**
 
* Determines if the browser supports a given property.
 
* @param {string} p Property.
 
* @return {bool} True if property is supported, false if not.
 
*/
 
canUse: function(p) {
 
 
// Create temporary element if it doesn't already exist.
 
if (!_._canUse)
 
_._canUse = document.createElement('div');
 
 
// Check for property.
 
var e = _._canUse.style,
 
up = p.charAt(0).toUpperCase() + p.slice(1);
 
 
return (
 
p in e
 
|| ('Moz' + up) in e
 
|| ('Webkit' + up) in e
 
|| ('O' + up) in e
 
|| ('ms' + up) in e
 
);
 
 
},
 
 
/**
 
* Initialize.
 
*/
 
init: function() {
 
 
var x, y, a, i, ua = navigator.userAgent;
 
 
// name, version.
 
x = 'other';
 
y = 0;
 
a = [
 
['firefox', /Firefox\/([0-9\.]+)/],
 
['bb', /BlackBerry.+Version\/([0-9\.]+)/],
 
['bb', /BB[0-9]+.+Version\/([0-9\.]+)/],
 
['opera', /OPR\/([0-9\.]+)/],
 
['opera', /Opera\/([0-9\.]+)/],
 
['edge', /Edge\/([0-9\.]+)/],
 
['safari', /Version\/([0-9\.]+).+Safari/],
 
['chrome', /Chrome\/([0-9\.]+)/],
 
['ie', /MSIE ([0-9]+)/],
 
['ie', /Trident\/.+rv:([0-9]+)/]
 
];
 
 
for (i=0; i < a.length; i++) {
 
 
if (ua.match(a[i][1])) {
 
 
x = a[i][0];
 
y = parseFloat(RegExp.$1);
 
 
break;
 
 
}
 
 
}
 
 
_.name = x;
 
_.version = y;
 
 
// os, osVersion.
 
x = 'other';
 
y = 0;
 
a = [
 
['ios', /([0-9_]+) like Mac OS X/, function(v) { return v.replace('_', '.').replace('_', ''); }],
 
['ios', /CPU like Mac OS X/, function(v) { return 0 }],
 
['wp', /Windows Phone ([0-9\.]+)/, null],
 
['android', /Android ([0-9\.]+)/, null],
 
['mac', /Macintosh.+Mac OS X ([0-9_]+)/, function(v) { return v.replace('_', '.').replace('_', ''); }],
 
['windows', /Windows NT ([0-9\.]+)/, null],
 
['bb', /BlackBerry.+Version\/([0-9\.]+)/, null],
 
['bb', /BB[0-9]+.+Version\/([0-9\.]+)/, null]
 
];
 
 
for (i=0; i < a.length; i++) {
 
 
if (ua.match(a[i][1])) {
 
 
x = a[i][0];
 
y = parseFloat( a[i][2] ? (a[i][2])(RegExp.$1) : RegExp.$1 );
 
 
break;
 
 
}
 
 
}
 
 
_.os = x;
 
_.osVersion = y;
 
 
// touch.
 
_.touch = (_.os == 'wp' ? (navigator.msMaxTouchPoints > 0) : !!('ontouchstart' in window));
 
 
// mobile.
 
_.mobile = (_.os == 'wp' || _.os == 'android' || _.os == 'ios' || _.os == 'bb');
 
 
},
 
 
}; _.init(); return _; })();
 
 
// UMD Wrapper (github.com/umdjs/umd/blob/master/returnExports.js | @umdjs + @nason)
 
(function(root, factory) {
 
 
// AMD.
 
if (typeof define === 'function' && define.amd)
 
define([], factory);
 
 
// Node.
 
else if (typeof exports === 'object')
 
module.exports = factory();
 
 
// Browser global.
 
else
 
root.browser = factory();
 
 
}(this, function() { return browser; }));
 
</script>
 
 
<script>
 
<script>
 
/* breakpoints.js v0.1-dev | @ajlkn | MIT licensed */
 
/* breakpoints.js v0.1-dev | @ajlkn | MIT licensed */

Revision as of 22:06, 17 October 2019