var ua = navigator.userAgent,win = window, doc = document, docElem = doc.documentElement;
var data = {
iphone: /iphone/i.test(ua),
ipad: /ipad/i.test(ua),
ipod: /ipod/i.test(ua),
android: /android/i.test(ua),
webkit: /webkit/i.test(ua),
chrome: /chrome/i.test(ua),
safari: /safari/i.test(ua),
firefox: /firefox/i.test(ua),
ie: /msie/i.test(ua),
opera: /opera/i.test(ua),
supportTouch: 'ontouchstart' in win,
supportCanvas: doc.createElement('canvas').getContext != null,
supportStorage: false,
supportOrientation: 'orientation' in win,
supportDeviceMotion: 'ondevicemotion' in win
};
//`localStorage` is null or `localStorage.setItem` throws error in some cases (e.g. localStorage is disabled)
try{
var value = 'xingqiba';
localStorage.setItem(value, value);
localStorage.removeItem(value);
data.supportStorage = true;
}catch(e){ };
//vendro prefix
var jsVendor = data.jsVendor = data.webkit ? 'webkit' : data.firefox ? 'Moz' : data.opera ? 'O' : data.ie ? 'ms' : '';
var cssVendor = data.cssVendor = '-' + jsVendor + '-';
//css transform/3d feature dectection
var testElem = doc.createElement('div'), style = testElem.style;
var supportTransform = style[jsVendor + 'Transform'] != undefined;
var supportTransform3D = style[jsVendor + 'Perspective'] != undefined;
if(supportTransform3D){
testElem.id = 'test3d';
style = doc.createElement('style');
style.textContent = '@media ('+ cssVendor +'transform-3d){#test3d{height:3px}}';
doc.head.appendChild(style);
docElem.appendChild(testElem);
supportTransform3D = testElem.offsetHeight == 3;
doc.head.removeChild(style);
docElem.removeChild(testElem);
};
data.supportTransform = supportTransform;
data.supportTransform3D = supportTransform3D;
Created
November 14, 2016 02:55
-
-
Save ixqbar/520d772cd7511ed4ccdbbaf0a29d9597 to your computer and use it in GitHub Desktop.
js
Author
ixqbar
commented
Nov 15, 2016
(function() {
var hm = document.createElement("script");
hm.src = "xxx.js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment