1/* 2 itis 0.2 (10.17.18) 3 Author: Pavel Tkach 4*/ 5(function ($) { 6 jQuery.fn.itis = function (options){ 7 var options = $.extend({ 8 is: ['bp'], 9 bp_pref: 'breackpoint-', 10 bp_points: {'xs':0,'sm':576,'md':768,'lg': 992,'xl': 1230}, 11 sf_pref: 'screen-', 12 sf_points: {'ultra-wide':0,'wide':0.4,'narrow':1},// {name: [screen height]/[screen width],..} 13 mt_class: 'mobile-tablete', 14 resize_delay: 200 15 }, options), is = options.is; 16 var is_bp = ($.inArray('bp',is)>=0)?true:false, bpo, bpl, 17 is_sf = ($.inArray('sf',is)>=0)?true:false, sfo, spl, 18 is_mt = ($.inArray('mt',is)>=0)?true:false, 19 is_ie = ($.inArray('ie',is)>=0)?true:false, 20 is_ios = ($.inArray('ios',is)>=0)?true:false, 21 is_load = ($.inArray('load',is)>=0)?true:false, 22 timeout; 23 24 if(typeof String.prototype.trim !== 'function') { 25 String.prototype.trim = function() { 26 return this.replace(/^\s+|\s+$/g, ''); 27 } 28 } 29 function classList(pref,list) { 30 var s = ''; 31 for (var b in list){ s = s + pref + b + ' ';} 32 return s.trim(); 33 } 34 function breackpoints (pref,obj) { 35 var w = $(window).width(),bp; 36 for (var b in obj){ 37 if (w >= obj[b]) { 38 bp = b; 39 } else break; 40 } 41 if ( bp != bpo ) { 42 $('body').removeClass(bpl).addClass(pref + bp); 43 bpo = bp; 44 } 45 }; 46 function shapefactor (pref,obj) { 47 var w = $(window).height()/$(window).width(),sf; 48 for (var b in obj){ 49 if (w > obj[b]) { 50 sf = b; 51 } else break; 52 } 53 if ( sf != sfo ) { 54 $('body').removeClass(sfl).addClass(pref + sf); 55 sfo = sf; 56 } 57 }; 58 window.mobileAndTabletcheck = function() { 59 var check = false; 60 (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera); 61 return check; 62 }; 63 function detectIE() { 64 var ua = window.navigator.userAgent; 65 var msie = ua.indexOf('MSIE '); 66 if (msie > 0) { // IE 10 or older => return version number 67 return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10); 68 } 69 var trident = ua.indexOf('Trident/'); 70 if (trident > 0) { // IE 11 => return version number 71 var rv = ua.indexOf('rv:'); 72 return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10); 73 } 74 var edge = ua.indexOf('Edge/'); 75 if (edge > 0) { // Edge (IE 12+) => return version number
76 return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10); 77 } 78 // other browser 79 return false; 80 }; 81 function detectiOS() { 82 var ua = window.navigator.userAgent.toLowerCase(), 83 ios = /iphone|ipod|ipad/.test(ua); 84 if( ios ) {return true;} 85 else return false; 86 }; 87 if (is_bp) { 88 bpl = classList(options.bp_pref,options.bp_points); 89 breackpoints(options.bp_pref,options.bp_points); 90 } 91 if (is_sf) { 92 sfl = classList(options.sf_pref,options.sf_points); 93 shapefactor(options.sf_pref,options.sf_points); 94 } 95 if (is_mt && mobileAndTabletcheck()) { 96 $('body').addClass(options.mt_class); 97 } 98 if (is_ie) { 99 var ie = detectIE(); 100 if (ie) $('body').addClass('IE IE'+ie); 101 } 102 if (is_ios) { 103 if (detectiOS()) $('body').addClass('iOS'); 104 } 105 window.onload = function () { 106 if (is_load) { 107 $('body').addClass('loaded'); 108 } 109 }; 110 111 $(window).resize(function (event) { 112 clearTimeout(timeout); 113 timeout = setTimeout(function(){ 114 // is_ functions 115 if (is_bp) { 116 breackpoints(options.bp_pref,options.bp_points); 117 } 118 if (is_sf) { 119 shapefactor(options.sf_pref,options.sf_points); 120 } 121 }, options.resize_delay); 122 }); 123 124 }; 125}) (jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.