1/* 2 * lib.js 3 * 4 * Copyright (c) 2015 5 * Please feel free to. 6 * 7 * Version: 1.1.4 (12/04/2016) 8 * Requires: jQuery v1.11.3 9 */ 10 11 12//------------------------------------------ 13//IE8以ä¸ã®console.logã¨ã©ã¼å¯¾ç 14if (!window.console) window.console = { log: function(){} } 15 16 17//------------------------------------------ 18//åæè¨å® 19var wWidth = $(window).width(); //ç»é¢ã®æ¨ªå¹ ãä¿å 20var wHeight = $(window).height(); //ç»é¢ã®é«ããä¿å 21var host = (("https:" == document.location.protocol) ? "https://" : "http://"); //ãã¹ã 22var domain = location.hostname; //ãã¡ã¤ã³å 23var path = location.pathname; //ãã£ã¬ã¯ããªå 24var param = location.search; //ãã©ã¡ã¼ã¿ã¼ 25var hash = location.hash; //ããã·ã¥ã#ã 26var ua = window.navigator.userAgent.toLowerCase(); //UA 27var os = ""; //OS 28var browser = ""; //ãã©ã¦ã¶ã¼ 29var version = ""; //ãã¼ã¸ã§ã³ 30var spWidth = 640; //ã¬ã¹ãã³ã·ãã®åãæ¿ãããµã¤ãº 31var lang = $("html").data("lang"); //è¨èª 32var device = $("html").attr("id"); //ããã¤ã¹ 33 34//------------------------------------------ 35//ãªãµã¤ãºããæ 36var resize = false; 37$(window).resize(function() { 38 if (resize !== false) clearTimeout(resize); 39 resize = setTimeout(function() { 40 getWindowSize(); //ãµã¤ãºãååå¾ 41 if (typeof onResizeCommonFunction == "function") onResizeCommonFunction(); //ãã¼ã¸ãèªã¿è¾¼ã¾ãããcommon.jsã®functionãå®è¡ãã 42 if (typeof onResizePageFunction == "function") onResizePageFunction(); //ãã¼ã¸ãèªã¿è¾¼ã¾ãããåãã¼ã¸ãã¨ã®functionãå®è¡ãã 43 }, 200); 44}); 45 46 47//------------------------------------------ 48//ã¦ã£ã³ãã¦ãµã¤ãºåå¾ 49function getWindowSize() { 50 wWidth = $(window).width(); //èªã¿è¾¼ã¿å®äºæã«æ¨ªå¹ ãååå¾ 51 wHeight = $(window).height(); //èªã¿è¾¼ã¿å®äºæã«é«ããååå¾ 52 if (os == "ios") { 53 wWidth = window.innerWidth; //èªã¿è¾¼ã¿å®äºæã«æ¨ªå¹ ãååå¾ 54 wHeight = window.innerHeight; //èªã¿è¾¼ã¿å®äºæã«é«ããååå¾ 55 } 56} 57 58 59//------------------------------------------ 60//GETãã©ã¡ã¼ã¿ã¼ãKey,Valueã«åè§£ãã 61function parseURLParams(url) { 62 url = url.replace(/#.*/ , ""); 63 var params = url.split("?"); 64 var urlParams = null; 65 66 if (params.length > 1) { 67 var urlParams = new Array(); 68 var parseParams = params[1].split("&"); 69 for (var i = 0; i < parseParams.length; i++) { 70 var kv = parseParams[i].split("="); 71 if (kv.length == 2) { 72 var key = kv[0]; 73 urlParams[key] = kv[1]; 74 } 75 } 76 } 77 return urlParams; 78} 79 80 81//------------------------------------------ 82//é åå ã§éè¤ãã¦ããé ç®ãåã 83function uniqueCheck(array) { 84 var storage = {}; 85 var uniqueArray = []; 86 var value; 87 for (var i = 0; i < array.length; i++) { 88 value = array[i]; 89 if (!(value in storage)) { 90 storage[value] = true; 91 uniqueArray.push(value); 92 } 93 } 94 return uniqueArray; 95} 96 97 98//------------------------------------------ 99//é åãã·ã£ããã«ãã 100function shuffle(array) { 101 var copy = []; 102 var n = array.length; 103 var i = ''; 104 105 while (n) { 106 i = Math.floor(Math.random() * n--); 107 copy.push(array.splice(i, 1)[0]); 108 } 109 return copy; 110} 111 112 113//------------------------------------------ 114//GAã¯ãªã㯠115function gaSendBtnClick(label){ 116 ga('send', 'event', 'button', 'click', label); 117} 118 119 120//------------------------------------------ 121//GAãã¼ã¸ãã¥ã¼ 122function gaSendPageView(page, title){ 123 ga('send', 'pageview' ,{ 124 'page' : page , 125 'title' : title 126 }); 127} 128 129 130//------------------------------------------ 131//ã¹ã¯ãã¼ã«ç¦æ¢ç¨é¢æ° 132function noScroll() { 133 var scrollEvent = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll'; 134 $(document).on(scrollEvent,function(e){e.preventDefault();});
135 $(document).on('touchmove.noScroll', function(e) {e.preventDefault();}); 136} 137 138 139//------------------------------------------ 140//ã¹ã¯ãã¼ã«å¾©æ´»ç¨é¢æ° 141function returnScroll() { 142 var scrollEvent = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll'; 143 $(document).off(scrollEvent); 144 $(document).off('.noScroll'); 145} 146 147 148/** 149 * PgwBrowser - Version 1.3 150 * tam customize Version 1.0 151 * 152 * Edit 2016.04.12 153 * Microsoft Edge 対å¿ç 154 */ 155$.userJson = function() { 156 var userJson = {}; 157 userJson.userAgent = navigator.userAgent; 158 userJson.browser = {}; 159 userJson.viewport = {}; 160 userJson.os = {}; 161 var resizeEvent = null; 162 163 /* 164 ãã©ã¦ã¶ãOSã®ç¨®é¡ 165 é åã®é çªã«ãã£ã¦çµæãå¤ããã®ã§æ³¨æãå¿ è¦ 166 */ 167 var browserData = [ 168 { name: 'Chromium', group: 'Chrome', identifier: 'Chromium/([0-9\.]*)' }, 169 { name: 'Chrome Mobile', group: 'Chrome', identifier: 'Chrome/([0-9\.]*) Mobile', versionIdentifier: 'Chrome/([0-9\.]*)'}, 170 { name: 'Chrome', group: 'Chrome', identifier: 'Chrome/([0-9\.]*)' }, 171 { name: 'Chrome for iOS', group: 'Chrome', identifier: 'CriOS/([0-9\.]*)' }, 172 { name: 'Android Browser', group: 'Chrome', identifier: 'CrMo/([0-9\.]*)' }, 173 { name: 'Firefox', group: 'Firefox', identifier: 'Firefox/([0-9\.]*)' }, 174 { name: 'Opera Mini', group: 'Opera', identifier: 'Opera Mini/([0-9\.]*)' }, 175 { name: 'Opera', group: 'Opera', identifier: 'Opera ([0-9\.]*)' }, 176 { name: 'Opera', group: 'Opera', identifier: 'Opera/([0-9\.]*)', versionIdentifier: 'Version/([0-9\.]*)' }, 177 { name: 'IEMobile', group: 'Explorer', identifier: 'IEMobile/([0-9\.]*)' }, 178 { name: 'Internet Explorer', group: 'Explorer', identifier: 'MSIE ([a-zA-Z0-9\.]*)' }, 179 { name: 'Internet Explorer', group: 'Explorer', identifier: 'Trident/([0-9\.]*)', versionIdentifier: 'rv:([0-9\.]*)' }, 180 { name: 'Spartan', group: 'Spartan', identifier: 'Edge/([0-9\.]*)', versionIdentifier: 'Edge/([0-9\.]*)' }, 181 { name: 'Safari', group: 'Safari', identifier: 'Safari/([0-9\.]*)', versionIdentifier: 'Version/([0-9\.]*)' } 182 ]; 183 184 var osData = [ 185 { name: 'Windows 2000', group: 'Windows', identifier: 'Windows NT 5.0', version: '5.0' }, 186 { name: 'Windows XP', group: 'Windows', identifier: 'Windows NT 5.1', version: '5.1' }, 187 { name: 'Windows Vista', group: 'Windows', identifier: 'Windows NT 6.0', version: '6.0' }, 188 { name: 'Windows 7', group: 'Windows', identifier: 'Windows NT 6.1', version: '7.0' }, 189 { name: 'Windows 8', group: 'Windows', identifier: 'Windows NT 6.2', version: '8.0' }, 190 { name: 'Windows 8.1', group: 'Windows', identifier: 'Windows NT 6.3', version: '8.1' }, 191 { name: 'Windows 10', group: 'Windows', identifier: 'Windows NT 10.0', version: '10.0' }, 192 { name: 'Windows Phone', group: 'Windows Phone', identifier: 'Windows Phone ([0-9\.]*)' }, 193 { name: 'Windows Phone', group: 'Windows Phone', identifier: 'Windows Phone OS ([0-9\.]*)' }, 194 { name: 'Windows', group: 'Windows', identifier: 'Windows' }, 195 { name: 'Chrome OS', group: 'Chrome OS', identifier: 'CrOS' }, 196 { name: 'Android', group: 'Android', identifier: 'Android', versionIdentifier: 'Android ([a-zA-Z0-9\.-]*)' }, 197 { name: 'iPad', group: 'iOS', identifier: 'iPad', versionIdentifier: 'OS ([0-9_]*)', versionSeparator: '[_|\.]' }, 198 { name: 'iPod', group: 'iOS', identifier: 'iPod', versionIdentifier: 'OS ([0-9_]*)', versionSeparator: '[_|\.]' }, 199 { name: 'iPhone', group: 'iOS', identifier: 'iPhone OS', versionIdentifier: 'OS ([0-9_]*)', versionSeparator: '[_|\.]' }, 200 { name: 'Mac OS X El Capitan', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])11([0-9_\.]*))', versionSeparator: '[_|\.]' }, 201 { name: 'Mac OS X Yosemite', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])10([0-9_\.]*))', versionSeparator: '[_|\.]' }, 202 { name: 'Mac OS X Mavericks', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])9([0-9_\.]*))', versionSeparator: '[_|\.]' },
203 { name: 'Mac OS X Mountain Lion', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])8([0-9_\.]*))', versionSeparator: '[_|\.]' }, 204 { name: 'Mac OS X Lion', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])7([0-9_\.]*))', versionSeparator: '[_|\.]' }, 205 { name: 'Mac OS X Snow Leopard', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])6([0-9_\.]*))', versionSeparator: '[_|\.]' }, 206 { name: 'Mac OS X Leopard', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])5([0-9_\.]*))', versionSeparator: '[_|\.]' }, 207 { name: 'Mac OS X Tiger', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])4([0-9_\.]*))', versionSeparator: '[_|\.]' }, 208 { name: 'Mac OS X Panther', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])3([0-9_\.]*))', versionSeparator: '[_|\.]' }, 209 { name: 'Mac OS X Jaguar', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])2([0-9_\.]*))', versionSeparator: '[_|\.]' }, 210 { name: 'Mac OS X Puma', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])1([0-9_\.]*))', versionSeparator: '[_|\.]' }, 211 { name: 'Mac OS X Cheetah', group: 'Mac OS', identifier: 'Mac OS X (10([_|\.])0([0-9_\.]*))', versionSeparator: '[_|\.]' }, 212 { name: 'Mac OS', group: 'Mac OS', identifier: 'Mac OS' }, 213 { name: 'Ubuntu', group: 'Linux', identifier: 'Ubuntu', versionIdentifier: 'Ubuntu/([0-9\.]*)' }, 214 { name: 'Debian', group: 'Linux', identifier: 'Debian' }, 215 { name: 'Gentoo', group: 'Linux', identifier: 'Gentoo' }, 216 { name: 'Linux', group: 'Linux', identifier: 'Linux' }, 217 { name: 'BlackBerry', group: 'BlackBerry', identifier: 'BlackBerry' } 218 ]; 219 220 // Set browser data 221 var setBrowserData = function() { 222 var userAgent = userJson.userAgent.toLowerCase(); 223 224 // Check browser type 225 for (var i in browserData) { 226 var browserRegExp = new RegExp(browserData[i].identifier.toLowerCase()); 227 var browserRegExpResult = browserRegExp.exec(userAgent); 228 229 if (browserRegExpResult != null && browserRegExpResult[1]) { 230 userJson.browser.name = browserData[i].name; 231 userJson.browser.group = browserData[i].group; 232 233 // Check version 234 if (browserData[i].versionIdentifier) { 235 var versionRegExp = new RegExp(browserData[i].versionIdentifier.toLowerCase()); 236 var versionRegExpResult = versionRegExp.exec(userAgent); 237 238 if (versionRegExpResult != null && versionRegExpResult[1]) { 239 setBrowserVersion(versionRegExpResult[1]); 240 } 241 } else { 242 setBrowserVersion(browserRegExpResult[1]); 243 } 244 break; 245 } 246 } 247 return true; 248 }; 249 250 //ãã©ã¦ã¶ã®ãã¼ã¸ã§ã³ 251 var setBrowserVersion = function(version) { 252 var splitVersion = version.split('.', 2); 253 userJson.browser.fullVersion = version; 254 255 //ã¡ã¤ã³ãã¼ã¸ã§ã³ 256 if (splitVersion[0]) { 257 userJson.browser.majorVersion = parseInt(splitVersion[0]); 258 } 259 260 //ãã¤ãã¼ãã¼ã¸ã§ã³ 261 if (splitVersion[1]) { 262 userJson.browser.minorVersion = parseInt(splitVersion[1]); 263 } 264 return true; 265 }; 266 267 //OSã®æ å ± 268 var setOsData = function() { 269 var userAgent = userJson.userAgent.toLowerCase(); 270 271 //ãã©ã¦ã¶ãã§ã㯠272 for (var i in osData) { 273 var osRegExp = new RegExp(osData[i].identifier.toLowerCase()); 274 var osRegExpResult = osRegExp.exec(userAgent); 275 276 if (osRegExpResult != null) { 277 userJson.os.name = osData[i].name; 278 userJson.os.group = osData[i].group; 279 280 if (osData[i].version) { 281 // Version defined 282 setOsVersion(osData[i].version, (osData[i].versionSeparator) ? osData[i].versionSeparator : '.'); 283 } else if (osRegExpResult[1]) { 284 // Version detected 285 setOsVersion(osRegExpResult[1], (osData[i].versionSeparator) ? osData[i].versionSeparator : '.'); 286 } else if (osData[i].versionIdentifier) { 287 // Version identifier 288 var versionRegExp = new RegExp(osData[i].versionIdentifier.toLowerCase()); 289 var versionRegExpResult = versionRegExp.exec(userAgent); 290 291 if (versionRegExpResult != null && versionRegExpResult[1]) { 292 setOsVersion(versionRegExpResult[1], (osData[i].versionSeparator) ? osData[i].versionSeparator : '.'); 293 } 294 } 295 break; 296 } 297 } 298 return true; 299 }; 300 301 //OSã®ãã¼ã¸ã§ã³ 302 var setOsVersion = function(version, separator) { 303 var splitVersion = ""; 304 if (separator.substr(0, 1) == '[') { 305 splitVersion = version.split(new RegExp(separator, 'g'), 2); 306 } else { 307 splitVersion = version.split(separator, 2); 308 } 309 310 if (separator != '.') { 311 version = version.replace(new RegExp(separator, 'g'), '.'); 312 } 313 userJson.os.fullVersion = version; 314 315 //ã¡ã¸ã£ã¼ãã¼ã¸ã§ã³ 316 if (splitVersion[0]) { 317 userJson.os.majorVersion = parseInt(splitVersion[0]); 318 } 319 320 //ãã¤ãã¼ãã¼ã¸ã§ã³ 321 if (splitVersion[1]) { 322 userJson.os.minorVersion = parseInt(splitVersion[1]); 323 } 324 return true; 325 }; 326 327 //viewport
328 var setViewportSize = function(init) { 329 userJson.viewport.width = $(window).width(); 330 userJson.viewport.height = $(window).height(); 331 332 //ãªãµã¤ãºããªã¬ã¼ 333 if (typeof init == 'undefined') { 334 if (resizeEvent == null) { 335 $(window).trigger('userJson::StartResizing'); 336 } else { 337 clearTimeout(resizeEvent); 338 } 339 340 resizeEvent = setTimeout(function() { 341 $(window).trigger('userJson::StopResizing'); 342 clearTimeout(resizeEvent); 343 resizeEvent = null; 344 }, 300); 345 } 346 return true; 347 }; 348 349 //ç»é¢ã®åã 350 var setViewportOrientation = function() { 351 if (typeof window.orientation == 'undefined') { 352 if (userJson.viewport.width >= userJson.viewport.height) { 353 userJson.viewport.orientation = 'landscape'; 354 } else { 355 userJson.viewport.orientation = 'portrait'; 356 } 357 } else { 358 switch(window.orientation) { 359 case -90: 360 case 90: 361 userJson.viewport.orientation = 'landscape'; 362 break; 363 default: 364 userJson.viewport.orientation = 'portrait'; 365 break; 366 } 367 } 368 369 //å転ããªã¬ã¼ 370 $(window).trigger('userJson::OrientationChange'); 371 return true; 372 }; 373 374 // Replace default value for the user-agent tester on pgwjs.com 375 if (typeof window.pgwJsUserAgentTester != 'undefined') { 376 userJson.userAgent = window.pgwJsUserAgentTester; 377 } 378 379 // Initialization 380 setBrowserData(); 381 setOsData(); 382 setViewportSize(true); 383 setViewportOrientation(); 384 385 //Windows10 Edgeç¨ç¹å¥å¦ç 386 if (userJson.os['name'] == 'Windows 10') { 387 if ( 388 userJson.userAgent.match('AppleWebkit/([0-9\.]*)') != -1 && 389 userJson.userAgent.match('(KHTML, like Gecko)') != -1 && 390 userJson.userAgent.match('Chrome/([0-9\.]*)') != -1 && 391 userJson.userAgent.match('Safari/([0-9\.]*)') != -1 && 392 userJson.userAgent.match('Edge/([0-9\.]*)') != -1 393 ) { 394 //åå 395 userJson.browser.name = 'Microsoft Edge'; 396 userJson.browser.group = 'Microsoft Edge'; 397 398 //ãã¼ã¸ã§ã³ 399 if (userJson.userAgent.indexOf("Edge/") >= 0) { 400 var fullVersion = userJson.userAgent.substring(userJson.userAgent.indexOf("Edge/")+1, userJson.userAgent.length).replace("dge/", ""); 401 402 var splitVersion = fullVersion.split('.', 2); 403 userJson.browser.fullVersion = fullVersion; 404 if (splitVersion[0]) userJson.browser.majorVersion = parseInt(splitVersion[0]); //ã¡ã¤ã³ãã¼ã¸ã§ã³ 405 if (splitVersion[1]) userJson.browser.minorVersion = parseInt(splitVersion[1]); //ãã¤ãã¼ãã¼ã¸ã§ã³ 406 } 407 } 408 } 409 410 // Triggers 411 $(window).on('orientationchange', function(e) { 412 setViewportOrientation(); 413 }); 414 415 $(window).resize(function(e) { 416 setViewportSize(); 417 }); 418 419 420 return userJson; 421}
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.