1/** 2Custom module for you to write your own javascript functions 3**/ 4var Custom = function () { 5 6 // private functions & variables 7 var assetsPath = 'assets/plugins/mr-custom/'; 8 var globalImgPath = assetsPath + 'img/'; 9 10 var handleScrollTop = function () { 11 $("body").on('click', '.scroll-top', function () { 12 Custom.scrollTop(); 13 }) 14 } 15 16 17 /******************* cModal ********************/ 18 var cModal = function () { 19 20 var modalContentAutoZindexElements = [".colorpicker", ".datetimepicker", ".datepicker"]; 21 var backdropZindex = 10049; 22 var modalZindex = 10050; 23 24 var backdrop_auto_zindex = true; 25 26 var openedModalIDs = []; 27 var setZIndex = function (params) { 28 29 $(params.element).attr('style', 'z-index: ' + params.zindex + ' !important'); 30 }; 31 32 var createModal = function (params) { 33 34 params = $.extend({ 35 title: "", 36 width: "90%", 37 reloader_class: "", 38 class: "modal-lg" 39 }, params); 40 41 42 if (params.class) { 43 params.width = "auto"; 44 } 45 46 47 48 modalZindex++; 49 var modal_uniq_id = 'modal_' + Math.floor(Math.random() * (new Date()).getTime()); 50 var modalHtml = "<div style='z-index: " + modalZindex + "' data-modal-id='" + modal_uniq_id + "' class='dyn-modal modal fade active-modal' id='" + modal_uniq_id + "' tabindex='-1' aria-hidden='true' data-backdrop='static' data-keyboard='false'><div class='modal-dialog " + params.class + "' ><div class='modal-content'><div class='modal-header'><button type='button' class='close' data-dismiss='modal' aria-hidden='true'>Ã</button> <h4 class='modal-title' id='main-modal-1_modal-title'>" + params.title + "</h4></div><a href='javascript:void(0)' data-modal='" + modal_uniq_id + "' data-url='" + params.url + "' class='modal-content-reloader " + params.reloader_class + "'></a> <div class='ajax-content modal-body'></div><div class='modal-footer'><button class='btn btn-default' data-dismiss='modal' aria-hidden='true'>Ã</button></div></div></div></div>"; 51 $('body').append(modalHtml); 52 openedModalIDs.push(modal_uniq_id); 53 return modal_uniq_id; 54 }; 55 56 var openModal = function (elm) { 57 58 59 // Ãnceki active modalların hepsinden classı kaldır. 60 $('.active-modal').removeClass('active-modal'); 61 var cmodal_width = elm.data('cmodal-width'); 62 var cmodal_class = elm.data('cmodal-class'); 63 var cmodal_title = elm.data('cmodal-title'); 64 var cmodal_zindex = elm.data('cmodal-zindex'); 65 var cmodal_reloader_class = elm.data('cmodal-reloader-class'); 66 if (cmodal_zindex === 'auto') { 67 backdrop_auto_zindex = true; 68 } 69 70 var modal_content_url = elm.attr('href'); 71 72 73 var modal_uniq_id = createModal({ 74 width: cmodal_width, 75 title: cmodal_title, 76 url: modal_content_url, 77 reloader_class: cmodal_reloader_class, 78 class: cmodal_class 79 }); 80 81 82 var modal_id = "#" + modal_uniq_id; 83 84 $(modal_id).modal('show'); 85 86 $(modal_id).on('shown.bs.modal', function () { 87 88 89 90 91 loadModal({ 92 url: modal_content_url, 93 object: $(modal_id + ' .ajax-content'), 94 modal_id: modal_uniq_id 95 }); 96 97 98 }); 99 100 101 102 103 104 105 106 if (backdrop_auto_zindex === true) { 107 backdropZindex++; 108 $(modal_id).nextAll(".modal-backdrop:first").css('z-index', backdropZindex + " !important").attr('data-target', modal_uniq_id); 109 } 110 111 112 113 114 115 $(modal_id).on('hidden.bs.modal', function () { 116 117 118 var prev_modal = $(modal_id).prevAll(".dyn-modal:first"); 119 120 prev_modal.addClass('active-modal'); 121 122 var prev_load = $(this).data('prev-load'); 123 var prev_reload = $(this).data('prev-reload'); 124 125 if (prev_load) { 126 loadModal({ 127 url: prev_load, 128 object: prev_modal.find('.ajax-content'), 129 modal_id: prev_modal.attr('id') 130 }); 131 132 } 133 134 if (prev_reload === "true" || prev_reload === true) { 135 $("a.modal-content-reloader", prev_modal).click(); 136 } 137 138 openedModalIDs.splice(openedModalIDs.indexOf(modal_uniq_id), 1); 139 140 $('body').find(modal_id).remove(); 141 142 backdropZindex--; 143 modalZindex--; 144 145 }); 146 147 148 149 150 }; 151 152 var loadModal = function (params) {
153 var block_ui_target = $("#" + params.modal_id).find(".modal-body"); 154 155 Custom.blockUI({ 156 157 158 target: block_ui_target, 159 160 animate: true 161 162 163 }); 164 165 166 jQuery.ajax({ 167 type: "GET", 168 url: params.url, 169 beforeSend: function () { 170 //params.object.css('height',current_height); 171 }, 172 error: function () { 173 params.object.html("Bir hata algılandı."); 174 }, 175 success: function (veri) { 176 params.object.html(veri).show('slow'); 177 $("#" + params.modal_id).modal('handleUpdate'); 178 /*DilTara("#"+params.modal_id);*/ 179 Custom.unblockUI(block_ui_target); 180 181 182 183 } 184 }); 185 186 187 188 189 }; 190 191 return { 192 193 init: function () { 194 195 196 197 $('body').on('click', 'a.modal-content-reloader', function (ev) { 198 ev.preventDefault(); 199 var this_modal = $(this).data("modal"); 200 this_modal = $("#" + this_modal); 201 202 loadModal({ 203 url: $(this).data('url'), 204 object: this_modal.find('.ajax-content'), 205 modal_id: this_modal.attr('id') 206 }); 207 }); 208 209 210 $('body').on('click', 'a[data-toggle="cmodal"]', function (ev) { 211 ev.preventDefault(); 212 openModal($(this)); 213 }); 214 215 }, 216 217 getActiveModalID: function () { 218 219 return $(".active-modal").data('modal-id'); 220 }, 221 222 getOpenedModalIDs: function () { 223 224 return openedModalIDs; 225 }, 226 getActiveModal: function () { 227 228 return $(".active-modal"); 229 } 230 231 232 233 }; 234 235 }(); 236 237 /******************* cModal // ********************/ 238 239 // Ajax Tabs 240 241 242 var handleAjaxTabTools = function () { 243 244 $('body').on('click', '.ajax-tabs > ul > li > a[data-toggle="tab"]', function (e) { 245 e.preventDefault(); 246 247 var targetObjId = $(this).attr('href'); 248 249 //$(this).closest(".li").addClass('active'); 250 251 var el = $(this).closest(".ajax-tabs").children(".tab-content").children(".tab-pane"); 252 253 //var el = $(this).closest(".ajax-tabs").children(".tab-content").children(elObj); 254 255 // console.log($(this).closest(".ajax-tabs").children(".tab-content").find(el)); 256 /*if(el.length == 0){ 257 var divObj = "<div class='tab-pane' id='"+targetObjId+"'></div>"; 258 $(this).closest(".ajax-tabs").children(".tab-content").append(divObj); 259 }*/ 260 261 var url = $(this).attr("data-url"); 262 var error = $(this).attr("data-error-display"); 263 if (url) { 264 Custom.blockUI({target: el, iconOnly: true}); 265 $.ajax({
266 type: "GET", 267 cache: false, 268 url: url, 269 dataType: "html", 270 success: function(res) 271 { 272 Custom.unblockUI(el); 273 el.html(res); 274 275 }, 276 error: function(xhr, ajaxOptions, thrownError) 277 { 278 Custom.unblockUI(el); 279 var msg = 'Error on reloading the content. Please check your connection and try again.'; 280 281 alert(msg); 282 283 } 284 }); 285 } 286 }); 287 288 289 $('.ajax-tabs > ul > li.active > a[data-toggle="tab"]').click(); 290 291 } 292 293 294 var customAjaxLink = function (params) { 295 $("body").on('click', '.ajax-link', function (ev) { 296 297 298 ev.preventDefault(); 299 var target_url = $(this).data('href'); 300 301 if (typeof target_url === 'undefined') { 302 target_url = $(this).attr("href"); 303 } 304 var target = $(this).data('target'); 305 var hasConfirm = $(this).data('confirm'); 306 var loading = $(this).data('loading'); 307 var loading_message = $(this).data('loading-message'); 308 if (!loading_message) { 309 loading_message = null; 310 } 311 312 if (hasConfirm) { 313 if (!confirm(hasConfirm)) { 314 return false; 315 } 316 } 317 318 319 320 jQuery.ajax({ 321 beforeSend: function () { 322 if (loading === true) 323 324 if(loading_message){ 325 alert('msg') 326 Custom.blockUI({ 327 target: $(target), 328 message:loading_message 329 }); 330 }else{ 331 Custom.blockUI({ 332 target: $(target), 333 animate: true 334 335 }); 336 alert('burasi') 337 } 338 339 340 341 342 }, 343 async: true, 344 type: 'GET', 345 url: target_url, 346 error: function () { 347 $(target).html("Bir hata algılandı."); 348 }, 349 success: function (veri) { 350 $(target).html(veri); 351 352 if (loading == true) 353 354 Custom.unblockUI($(target)); 355 } 356 }); 357 358 359 360 361 }); 362 363 364 $('a.ajax-link[data-load="true"]').click(); 365 366 } 367 var customAjaxForm = function (params) { 368 // 369 370 371 372 373 $('body').on('submit','.ajax-form',function(ev){ 374 375 ev.preventDefault(); 376 377 var f_target = $(this).data('target'); 378 var f_url = $(this).attr('action'); 379 //peÅpeÅe tıklanmaya karÅı 380 var self = this; 381 if ($(self).data('executing')) 382 return; 383 384 $(self).data('executing', true); 385 386 $(self).ajaxSubmit({ 387 url: f_url, 388 target: f_target, 389 390 beforeSubmit: function () { 391 // $(f_target).prepend('<div style=text-align:center;><img style=margin:auto; src="<%=GetContent("assets/css/AjaxLoader.gif")%>" /></div>'); 392 Custom.blockUI({ 393 target: self, 394 animate: true, 395 overlayColor: 'none' 396 }); 397 }, 398 399 success: function () { 400 Custom.unblockUI(self); 401 $(f_target).fadeIn('slow'); 402 $(self).removeData('executing'); 403 }, 404 error: function () { 405 return false; 406 } 407 }); 408 409 410 }); 411 412 413 /* 414 415 $('body').on("keyup keypress", '.ajax-form', function (e) { 416 var code = e.keyCode || e.which; 417 418 if (code == 13 && ($(event.target)[0] != $("textarea")[0])) { 419 420 e.preventDefault(); 421 return false; 422 } 423 }); 424 425 var ajax_form = $(".ajax-form"); 426 var submit_btn = $(".ajax-form .ajax-submit"); 427 var result_div = ajax_form.data('target'); 428 429 430 431 var curr_submit_button_text = submit_btn.val(); 432 433 434 435 436 ajax_form.ajaxForm({ 437 url: ajax_form.attr('action'), 438 target: result_div, 439 beforeSubmit: function () { 440 alert('eee'); 441 Custom.blockUI({ 442 target: ajax_form, 443 animate: true, 444 overlayColor: 'none' 445 }); 446 447 // ajaxDivAdi.prepend('<div style=text-align:center;><img style=margin:auto; src="<%=strSanalDizin%>/images/loading.gif" /></div>'); 448 submit_btn.val('...'); 449 }, 450 451 success: function () { 452 453 //result_div.fadeIn('slow'); 454 submit_btn.val(curr_submit_button_text); 455 456 Custom.unblockUI(ajax_form); 457 458 }, 459 error: function () { 460 return false; 461 } 462 }); 463 464 */ 465 466 467 // 468 } 469 470 // public functions 471 return { 472 473 //main function 474 init: function () { 475 cModal.init(); 476 customAjaxForm(); 477 customAjaxLink(); 478 handleScrollTop(); 479 handleAjaxTabTools(); 480 }, 481 getUniqueID: function (prefix) { 482 return 'prefix_' + Math.floor(Math.random() * (new Date()).getTime()); 483 }, 484 alert: function (options) { 485 486 options = $.extend(true, { 487 container: "", // alerts parent container(by default placed after the page breadcrumbs) 488 place: "append", // append or prepent in container 489 type: 'success', // alert's type 490 message: "", // alert's message 491 close: true, // make alert closable 492 reset: true, // close all previouse alerts first 493 focus: true, // auto scroll to the alert after shown 494 closeInSeconds: 0, // auto close after defined seconds 495 icon: "" // put icon before the message 496 }, options); 497 498 var id = Custom.getUniqueID("custom_alert"); 499 500 501 502 var html = '<div id="' + id + '" class="custom_alerts alert-dismissible alert alert-' + options.type + ' fade in">' + (options.close ? '<button type="button" class="close" data-dismiss="alert" aria-hidden="true">Ã</button>' : '') + (options.icon !== "" ? '<i class="fa-lg fa fa-' + options.icon + '"></i> ' : '') + options.message + '</div>'; 503 504 if (options.reset) { 505 $('.custom_alerts').remove(); 506 } 507 508 if (!options.container) { 509 if ($('body').hasClass("page-container-bg-solid")) { 510 $('.page-title').after(html); 511 } else { 512 if ($('.page-bar').size() > 0) { 513 $('.page-bar').after(html); 514 } else { 515 $('.page-breadcrumb').after(html); 516 } 517 } 518 } else { 519 if (options.place == "append") { 520 $(options.container).append(html); 521 } else { 522 $(options.container).prepend(html); 523 } 524 } 525 526 if (options.focus) { 527 Custom.scrollTo($('#' + id)); 528 } 529 530 if (options.closeInSeconds > 0) { 531 setTimeout(function () { 532 $('#' + id).remove(); 533 }, options.closeInSeconds * 1000); 534 } 535 536 return id; 537 }, 538 539 540 541 scrollTo: function (el, offeset) { 542 var pos = (el && el.size() > 0) ? el.offset().top : 0; 543 544 if (el) { 545 if ($('body').hasClass('page-header-fixed')) { 546 pos = pos - $('.page-header').height(); 547 } 548 pos = pos + (offeset ? offeset : -1 * el.height()); 549 } 550 551 $('html,body').animate({ 552 scrollTop: pos 553 }, 'slow'); 554 }, 555 // function to scroll to the top 556 scrollTop: function () { 557 Custom.scrollTo(); 558 }, 559 560 // wrMetronicer function to block element(indicate loading) 561 blockUI: function (options) { 562 options = $.extend(true, {}, options); 563 var html = ''; 564 if (options.animate) { 565 html = '<div class="loading-message ' + (options.boxed ? 'loading-message-boxed' : '') + '">' + '<div class="block-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>' + '</div>'; 566 } else if (options.iconOnly) { 567 html = '<div class="loading-message ' + (options.boxed ? 'loading-message-boxed' : '') + '"><img src="' + this.getGlobalImgPath() + 'loading-spinner-grey.gif" align=""></div>'; 568 } else if (options.textOnly) { 569 html = '<div class="loading-message ' + (options.boxed ? 'loading-message-boxed' : '') + '"><span>  ' + (options.message ? options.message : 'LOADING...') + '</span></div>'; 570 } else { 571 html = '<div class="loading-message ' + (options.boxed ? 'loading-message-boxed' : '') + '"><img src="' + this.getGlobalImgPath() + 'loading-spinner-grey.gif" align=""><span>  ' + (options.message ? options.message : 'LOADING...') + '</span></div>'; 572 } 573 574 if (options.target) { // element blocking 575 var el = $(options.target); 576 if (el.height() <= ($(window).height())) { 577 options.cenrerY = true; 578 } 579 el.block({ 580 message: html, 581 baseZ: options.zIndex ? options.zIndex : 1000, 582 centerY: options.cenrerY !== undefined ? options.cenrerY : false, 583 css: { 584 top: '10%', 585 border: '0', 586 padding: '0', 587 backgroundColor: 'none' 588 }, 589 overlayCSS: { 590 backgroundColor: options.overlayColor ? options.overlayColor : '#555', 591 opacity: options.boxed ? 0.05 : 0.1, 592 cursor: 'wait' 593 } 594 }); 595 } else { // page blocking 596 $.blockUI({ 597 message: html, 598 baseZ: options.zIndex ? options.zIndex : 1000, 599 css: { 600 border: '0', 601 padding: '0', 602 backgroundColor: 'none' 603 }, 604 overlayCSS: { 605 backgroundColor: options.overlayColor ? options.overlayColor : '#555', 606 opacity: options.boxed ? 0.05 : 0.1, 607 cursor: 'wait' 608 } 609 }); 610 } 611 }, 612 613 // wrMetronicer function to un-block element(finish loading) 614 unblockUI: function (target) { 615 if (target) { 616 $(target).unblock({ 617 onUnblock: function () { 618 $(target).css('position', ''); 619 $(target).css('zoom', ''); 620 } 621 }); 622 } else { 623 $.unblockUI(); 624 } 625 }, 626 627 getGlobalImgPath: function () { 628 return globalImgPath; 629 }, 630 getParameterByName:function (name, url) { 631 if (!url) { 632 url = window.location.href; 633 } 634 name = name.replace(/[\[\]]/g, "\\$&"); 635 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 636 results = regex.exec(url); 637 if (!results) { 638 return null; 639 } 640 641 if (!results[2]) { 642 return ''; 643 } 644 return decodeURIComponent(results[2].replace(/\+/g, " "));
645 }, 646 647 648 649 updateUrlByKey : function(uri, key, value) { 650 var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); 651 var separator = uri.indexOf('?') !== -1 ? "&" : "?"; 652 if (uri.match(re)) { 653 return uri.replace(re, '$1' + key + "=" + value + '$2'); 654 } 655 else { 656 return uri + separator + key + "=" + value; 657 } 658 }, 659 getUserDeviceInfo : function(){ 660 661 var deferredObject = $.Deferred(); 662 663 var unknown = '-'; 664 665 // screen 666 var screenSize = ''; 667 if (screen.width) { 668 width = (screen.width) ? screen.width : ''; 669 height = (screen.height) ? screen.height : ''; 670 screenSize += '' + width + " x " + height; 671 } 672 673 // browser 674 675 var nVer = navigator.appVersion; 676 var nAgt = navigator.userAgent; 677 var browser = navigator.appName; 678 var version = '' + parseFloat(navigator.appVersion); 679 var majorVersion = parseInt(navigator.appVersion, 10); 680 var nameOffset, verOffset, ix; 681 682 // Opera 683 if ((verOffset = nAgt.indexOf('Opera')) != -1) { 684 browser = 'Opera'; 685 version = nAgt.substring(verOffset + 6); 686 if ((verOffset = nAgt.indexOf('Version')) != -1) { 687 version = nAgt.substring(verOffset + 8); 688 } 689 } 690 // Opera Next 691 if ((verOffset = nAgt.indexOf('OPR')) != -1) { 692 browser = 'Opera'; 693 version = nAgt.substring(verOffset + 4); 694 } 695 // MSIE 696 else if ((verOffset = nAgt.indexOf('MSIE')) != -1) { 697 browser = 'Microsoft Internet Explorer'; 698 version = nAgt.substring(verOffset + 5); 699 } 700 // Chrome 701 else if ((verOffset = nAgt.indexOf('Chrome')) != -1) { 702 browser = 'Chrome'; 703 version = nAgt.substring(verOffset + 7); 704 } 705 // Safari 706 else if ((verOffset = nAgt.indexOf('Safari')) != -1) { 707 browser = 'Safari'; 708 version = nAgt.substring(verOffset + 7); 709 if ((verOffset = nAgt.indexOf('Version')) != -1) { 710 version = nAgt.substring(verOffset + 8); 711 } 712 } 713 // Firefox 714 else if ((verOffset = nAgt.indexOf('Firefox')) != -1) { 715 browser = 'Firefox'; 716 version = nAgt.substring(verOffset + 8); 717 } 718 // MSIE 11+ 719 else if (nAgt.indexOf('Trident/') != -1) { 720 browser = 'Microsoft Internet Explorer'; 721 version = nAgt.substring(nAgt.indexOf('rv:') + 3); 722 } 723 // Other browsers 724 else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) { 725 browser = nAgt.substring(nameOffset, verOffset); 726 version = nAgt.substring(verOffset + 1); 727 if (browser.toLowerCase() == browser.toUpperCase()) { 728 browser = navigator.appName; 729 } 730 } 731 // trim the version string 732 if ((ix = version.indexOf(';')) != -1) version = version.substring(0, ix); 733 if ((ix = version.indexOf(' ')) != -1) version = version.substring(0, ix); 734 if ((ix = version.indexOf(')')) != -1) version = version.substring(0, ix); 735 736 majorVersion = parseInt('' + version, 10); 737 if (isNaN(majorVersion)) { 738 version = '' + parseFloat(navigator.appVersion); 739 majorVersion = parseInt(navigator.appVersion, 10); 740 } 741 742 // mobile version 743 var mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer); 744 745 // cookie 746 var cookieEnabled = (navigator.cookieEnabled) ? true : false; 747 748 if (typeof navigator.cookieEnabled == 'undefined' && !cookieEnabled) { 749 document.cookie = 'testcookie'; 750 cookieEnabled = (document.cookie.indexOf('testcookie') != -1) ? true : false; 751 } 752 753 // system 754 var os = unknown; 755 var clientStrings = [
756 {s:'Windows 10', r:/(Windows 10.0|Windows NT 10.0)/}, 757 {s:'Windows 8.1', r:/(Windows 8.1|Windows NT 6.3)/}, 758 {s:'Windows 8', r:/(Windows 8|Windows NT 6.2)/}, 759 {s:'Windows 7', r:/(Windows 7|Windows NT 6.1)/}, 760 {s:'Windows Vista', r:/Windows NT 6.0/}, 761 {s:'Windows Server 2003', r:/Windows NT 5.2/}, 762 {s:'Windows XP', r:/(Windows NT 5.1|Windows XP)/}, 763 {s:'Windows 2000', r:/(Windows NT 5.0|Windows 2000)/}, 764 {s:'Windows ME', r:/(Win 9x 4.90|Windows ME)/}, 765 {s:'Windows 98', r:/(Windows 98|Win98)/}, 766 {s:'Windows 95', r:/(Windows 95|Win95|Windows_95)/}, 767 {s:'Windows NT 4.0', r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/}, 768 {s:'Windows CE', r:/Windows CE/}, 769 {s:'Windows 3.11', r:/Win16/}, 770 {s:'Android', r:/Android/}, 771 {s:'Open BSD', r:/OpenBSD/}, 772 {s:'Sun OS', r:/SunOS/}, 773 {s:'Linux', r:/(Linux|X11)/}, 774 {s:'iOS', r:/(iPhone|iPad|iPod)/}, 775 {s:'Mac OS X', r:/Mac OS X/}, 776 {s:'Mac OS', r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/}, 777 {s:'QNX', r:/QNX/}, 778 {s:'UNIX', r:/UNIX/}, 779 {s:'BeOS', r:/BeOS/}, 780 {s:'OS/2', r:/OS\/2/}, 781 {s:'Search Bot', r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/} 782 ]; 783 for (var id in clientStrings) { 784 var cs = clientStrings[id]; 785 if (cs.r.test(nAgt)) { 786 os = cs.s; 787 break; 788 } 789 } 790 791 var osVersion = unknown; 792 793 if (/Windows/.test(os)) { 794 osVersion = /Windows (.*)/.exec(os)[1]; 795 os = 'Windows'; 796 } 797 798 switch (os) { 799 case 'Mac OS X': 800 osVersion = /Mac OS X (10[\.\_\d]+)/.exec(nAgt)[1]; 801 break; 802 803 case 'Android': 804 osVersion = /Android ([\.\_\d]+)/.exec(nAgt)[1]; 805 break; 806 807 case 'iOS': 808 osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer); 809 osVersion = osVersion[1] + '.' + osVersion[2] + '.' + (osVersion[3] | 0); 810 break; 811 } 812 813 814 var _extraDeviceInfoFromService = { 815 deviceIsMobile:"", 816 deviceName:"", 817 deviceType:"", 818 819 }; 820 821 var return_data = { 822 screen: screenSize, 823 browserName: browser, 824 browserVersion: version, 825 browserMajorVersion: majorVersion, 826 mobile: mobile, 827 os: os, 828 osVersion: osVersion, 829 cookies: cookieEnabled, 830 deviceWindowHeight : $(window).height(), 831 deviceWindowWidth : $(window).width(), 832 deviceScreenAvalHeight: screen.availHeight, 833 deviceScreenAvalWidth: screen.availWidth, 834 extraDeviceInfoFromService : {} 835 836 }; 837 838 $.ajax({ 839 url: "//wurfl.io/wurfl.js", 840 dataType: "script", 841 timeout: 5 * 1000 // Servisin yüklenmesini 5 saniye bekle... 842 }).done(function() { 843 _extraDeviceInfoFromService.deviceIsMobile = WURFL.is_mobile.toString(); 844 _extraDeviceInfoFromService.deviceName = WURFL.complete_device_name; 845 _extraDeviceInfoFromService.deviceType = WURFL.form_factor; 846 return_data.extraDeviceInfoFromService = _extraDeviceInfoFromService; 847 deferredObject.resolve(return_data); 848 849 }).fail(function() { 850 deferredObject.resolve(return_data); 851 }); 852 853 return deferredObject.promise(); 854 855 } 856 857 }; 858 859}(); 860 861/*** 862Usage 863***/ 864//Custom.init(); 865//Custom.doSomeStuff();
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.