1/** 2 * This is commercial software, only users who have purchased a valid license 3 * and accept to the terms of the License Agreement can install and use this 4 * program. 5 * 6 * Do not edit or add to this file if you wish to upgrade Godomall5 to newer 7 * versions in the future. 8 * 9 * ê³µì© ì¤í¬ë¦½í¸ ë° íë¡í íì ì ì 10 * 11 * @copyright â 2016, NHN godo: Corp. 12 * @link http://www.godo.co.kr 13 */ 14 15 16/** 17 * ìë°ì¤í¬ë¦½í¸ Trimí¨ì 18 * 19 * @deprecated ìë°ì¤í¬ë¦½í¸ 기본 í¨ì í¹ì $.trim() ì¬ì© 20 * @return string ì¢ì° 공백 ì ê±°í 문ìì´ 21 */ 22//String.prototype.trim = function () { 23// return this.replace(/^\s+|\s+$/, ''); 24//}; 25 26/** 27 * ìë°ì¤í¬ë¦½í¸ number_format í¨ì 28 * 29 * @deprecated numeralë¡ ëì²´ 30 * @return string 문ìì´ì ì¸ì리 ë¨ìë¡ ì¼í ì°ê¸° 31 */ 32//String.prototype.number_format = function() 33//{ 34// return this.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,'); 35//}; 36 37// ë©í°ìì ë³ì 기본ì²ë¦¬ 38if (typeof gdCurrencyDecimalFormat === 'undefined') { 39 gdCurrencyDecimal = 0; 40 gdCurrencyDecimalFormat = 0; 41} 42 43// IE9ìì console ê°ì²´ê° ìì´ console ê°ì²´ê° ìë ê²½ì° logë¡ ì¬ì©íëë¡ ì²ë¦¬ 44if (!window.console) console = { 45 log: function () { 46 } 47}; 48 49// IE8 ì´íìì Array.indexOf ì§ìíì§ ìë ê²½ì°ì ëí ëì 50if (typeof Array.prototype.indexOf !== 'function') { 51 Array.prototype.indexOf = function (ele) { 52 return $.inArray(ele, this); 53 }; 54} 55 56// IE8 ì´íìì String.trim ì§ìíì§ ìë ê²½ì°ì ëí ëì 57if (typeof String.prototype.trim !== 'function') { 58 String.prototype.trim = function(){ 59 return $.trim(this); 60 }; 61} 62 63// @qnibus bugfix. toFixed ì¬ì©ì 무조건 ë°ì¬ë¦¼ ì²ë¦¬íë ë¶ë¶ì¼ë¡ ì¸í´ ê³ ë몰5ì ì ì± ê³¼ ë§ì§ ììì toFixed ëì ì¬ì©í´ì¼ í¨ 64if (typeof Number.prototype.toRealFixed !== 'function') { 65 Number.prototype.toRealFixed = function (digits, format) { 66 if (typeof digits === 'undefined') { 67 digits = gdCurrencyDecimal; 68 } 69 if (typeof format === 'undefined') { 70 format = gdCurrencyDecimalFormat; 71 } 72 73 return numeral(Math.floor(this.valueOf() * Math.pow(10, digits)) / Math.pow(10, digits)).format('0,' + format); 74 }; 75} 76 77/** 78 * ì¤í¸ë§ ì¹í ë©ìë 79 * @returns {String} 80 */ 81String.prototype.format = function () { 82 var formatted = this; 83 for (var i = 0; i < arguments.length; i++) { 84 formatted = formatted.replace("{" + i + "}", arguments[i]); 85 } 86 return formatted; 87}; 88 89/** 90 * DOM ë¡ë 91 */ 92$(document).ready(function () { 93 94 // IE 9 ì´í placeholder ì²ë¦¬ 95 if (gd_is_ie() < 10) { 96 $("input, textarea").placeholder(); 97 98 $('form').submit(function(e){ 99 100 $(this).find("input, textarea").each(function(){ 101 var _name = this.name; 102 var _placeholder = this.getAttribute('placeholder'); 103 104 if (_name && _placeholder) { 105 var _target = document.getElementsByName(_name)[0]; 106 if (_target.value == _placeholder) { 107 _target.value = ''; 108 } 109 } 110 }); 111 }); 112 } 113 114 // jQuery Validator ê¸°ë³¸ê° ì¤ì 115 $.validator.setDefaults({ 116 onfocusout: false, 117 onclick: false, 118 onkeyup: false, 119 errorPlacement: function (error, element) { 120 // do nothing 121 }, 122 invalidHandler: function (form, validator) { 123 var errors = validator.numberOfInvalids(); 124 if (errors) { 125 alert(validator.errorList[0].message); 126 validator.errorList[0].element.focus(); 127 } 128 }, 129 submitHandler: function (form) { 130 form.submit(); 131 } 132 }); 133 134 // jQuery Validator 기본 ë©ìì§ ì¤ì 135 jQuery.extend(jQuery.validator.messages, { 136 required: __("íìí목 ì ëë¤."), 137 remote: __("ì´ íë를 ìì í´ì£¼ì¸ì."), 138 email: __("ì´ë©ì¼ì ì ííê² ì ë ¥í´ì£¼ì¸ì."), 139 url: __("ì í¨íì§ ìì URLì´ ì ë ¥ëììµëë¤."), 140 date: __("ë ì§íìì´ ë§ì§ ììµëë¤."), 141 dateISO: __("ì í¨í ISO íì ì ë ì§ë¡ ë¤ì ì ë ¥í´ì£¼ì¸ì."), 142 number: __("ì«ìë§ ì ë ¥íì¤ ì ììµëë¤."), 143 digits: __("ì«ìë§ ì ë ¥íì¤ ì ììµëë¤."), 144 creditcard: __("ì í¨í ì ì©ì¹´ë ë²í¸ë¡ ë¤ì ì ë ¥í´ì£¼ì¸ì."), 145 equalTo: __("ëì¼í ê°ì ì ë ¥í´ì£¼ì¸ì."), 146 accept: "Please enter a value with a valid extension.", 147 maxlength: jQuery.validator.format(__("ìµë %i ì´í ì ë ¥í´ ì£¼ì¸ì.", "{0}")), 148 minlength: jQuery.validator.format(__("ìµì %i ì´ì ì ë ¥í´ ì£¼ì¸ì.", "{0}")), 149 rangelength: jQuery.validator.format(__("%1$iììì %2$iê¹
149ì§ ì ë ¥ê°ë¥í©ëë¤.", ["{0}", "{1}"])), 150 range: jQuery.validator.format(__("%1$iì %2$iì¬ì´ì ì«ì를 ì ë ¥í´ì£¼ì¸ì.", ["{0}", "{1}"])), 151 max: jQuery.validator.format(__("ìµë %i ì´ì ì ë ¥íì¤ ì ììµëë¤.", "{0}")), 152 min: jQuery.validator.format(__("ìµì %i ì´í ì ë ¥íì¤ ì ììµëë¤.", "{0}")) 153 }); 154 155 //ê²ìì´ 156 $("#frmSearchTop").validate({ 157 submitHandler: function (form) { 158 if ($("#frmSearchTop input[name='adUrl']").val() && $("#frmSearchTop input[name='keyword']").val() == '') document.location.href = $("#frmSearchTop input[name='adUrl']").val(); 159 else form.submit(); 160 }, 161 rules: { 162 keyword: { 163 required: function () { 164 165 if ($("#frmSearchTop input[name='adUrl']").val()) { 166 return false;o 167 } 168 else { 169 return true; 170 } 171 } 172 } 173 }, 174 messages: { 175 keyword: { 176 required: __('ê²ìì´ë¥¼ ì ë ¥íì¸ì.') 177 } 178 } 179 }); 180 181 // ìµê·¼ ê²ìì´ ìì 182 $('.btn_top_search_del').click(function(e){ 183 e.stopPropagation(); 184 $self = $(this); 185 $.post('../goods/goods_ps.php', { 186 'mode': 'delete_recent_keyword', 187 'keyword': $(this).data('recent-keyword') 188 }, function (data, status) { 189 // ê°ì´ ìë ê²½ì° ì±ê³µ 190 if (status == 'success' && data == '') { 191 if ($self.closest('ul').find('li').length == 1) { 192 $self.closest('li').remove(); 193 $('.btn_top_search_all_del').remove(); 194 $('.js_recent_area').append('<dd>' + __('ìµê·¼ ê²ìì´ê° ììµëë¤.') + '</dd>'); 195 } else { 196 $self.closest('li').remove(); 197 } 198 } else { 199 console.log('request fail. ajax status (' + status + ')'); 200 } 201 }); 202 }); 203 204 // ìµê·¼ ê²ìì´ ì ì²´ ìì 205 $('.btn_top_search_all_del').click(function(e){ 206 $.post('../goods/goods_ps.php', { 207 'mode': 'delete_recent_all_keyword' 208 }, function (data, status) { 209 // ê°ì´ ìë ê²½ì° ì±ê³µ 210 if (status == 'success' && data == '') { 211 $('.js_recent_list').find('li').remove() 212 $('.btn_top_search_all_del').remove(); 213 $('.js_recent_area').append('<dd>' + __('ìµê·¼ ê²ìì´ê° ììµëë¤.') + '</dd>'); 214 } else { 215 console.log('request fail. ajax status (' + status + ')'); 216 } 217 }); 218 }); 219 220 // Ajax ìë¬ ë° ì²ë¦¬ ê¸°ë³¸ê° ì¤ì 221 $.ajaxSetup({ 222 beforeSend: function (xhr, settings) { 223 xhr.url = settings.url; 224 xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content')); 225 }, 226 complete: function () { 227 gd_trigger_checkbox_ui(); 228 gd_select_remodeling(); 229 gd_checkbox_all(); 230 231 //ì´ë¯¸ì§ ë¡ë© í¥ì ì¬ì© ì í¸ì¶. 232 if ($.isFunction($.fn.lazyload) === true) { 233 setTimeout(function() { 234 $("img.gd_image_lazy").lazyload({threshold:200}); 235 }, 1); 236 } 237 }, 238 error: function (xhr, textStatus, error) { 239 if (xhr.status == '404' && error == 'Not Found') { 240 console.log('[404 Not Found]\nThe requested URL was not found.'); 241 } 242 else if (xhr.status == '500' && error == 'Internal Server Error' && xhr.responseText != '') { 243 console.log(xhr.responseText); 244 } 245 gd_close_layer(); 246 console.log('Ajax Error URL: ' + xhr.url, xhr.responseText); 247 } 248 });
249 250 $(document).on('click', '.btn_alert_login', function (e) { 251 var target = $(this).attr('id'); 252 e.preventDefault(); 253 alert(__('ë¡ê·¸ì¸íì ì¼ ë³¸ ìë¹ì¤ë¥¼ ì´ì©íì¤ ì ììµëë¤.')); 254 document.location.href = target == undefined ? "../member/login.php" : "../member/login.php?id=" + target; 255 return false; 256 }); 257 258 // 미íì¸ ì ê¸ì íì 259 $('#ghostDepositorBanner').click(function () { 260 var url = '/service/popup_ghost_depositor.php'; 261 var win = gd_popup({ 262 url: url 263 , target: 'ghostDepositorPopup' 264 , width: 630 265 , height: 560 266 , resizable: 'no' 267 , scrollbars: 'no' 268 }); 269 win.focus(); 270 return win; 271 }); 272 273 if ($('.btn_prev').length > 0) { 274 $('.btn_prev').click(function (e) { 275 e.preventDefault(); 276 history.go(-1); 277 }); 278 } 279 280 // ë³µì¬ ê¸°ë¥ 281 // https://github.com/zeroclipboard/zeroclipboard/blob/master/docs/api/ZeroClipboard.md 282 if ($('.gd_clipboard').length) { 283 if (navigator.userAgent.match(/MSIE 8/) !== null) { 284 $('.gd_clipboard').each(function () { 285 $(this).click(function () { 286 alert(__("주ì를 ëëê·¸ í´ì ë³µì¬í´ì£¼ì¸ì")); 287 return false; 288 }); 289 }); 290 } else { 291 var clipboard = new Clipboard('.gd_clipboard'); 292 clipboard.on('success', function (e) { 293 var title = $(e.trigger).attr('title') == undefined ? '' : $(e.trigger).attr('title'); 294 alert('[' + title + '] '+__('ì 보를 í´ë¦½ë³´ëì ë³µì¬íìµëë¤.\nCtrl+V를 ì´ì©í´ì ì¬ì©íì¸ì.')); 295 e.clearSelection(); 296 }); 297 clipboard.on('error', function (e) { 298 console.error('Action:', e.action); 299 console.error('Trigger:', e.trigger); 300 }); 301 } 302 } 303}); 304 305// @qnibus bugfix. toFixed ì¬ì©ì 무조건 ë°ì¬ë¦¼ ì²ë¦¬íë ë¶ë¶ì¼ë¡ ì¸í´ ê³ ë몰5ì ì ì± ê³¼ ë§ì§ ììì toFixed ëì ì¬ì©í´ì¼ í¨ 306if (typeof Number.prototype.toRealFixed !== 'function') { 307 Number.prototype.toRealFixed = function (digits, format) { 308 if (typeof digits === 'undefined') { 309 digits = gdCurrencyDecimal; 310 } 311 if (typeof format === 'undefined') { 312 format = gdCurrencyDecimalFormat; 313 } 314 315 return numeral(Math.floor(this.valueOf() * Math.pow(10, digits)) / Math.pow(10, digits)).format('0,' + format); 316 }; 317} 318 319/** 320 * 기ì¤íí íì¨ë³í 321 * 322 * @param price ê¸ì¡ 323 * @param isFormat í¬ë§·ì¬ë¶ 324 * @returns {*} 325 */ 326function gd_money_format(price, isFormat) { 327 var convertPrice = fx.convert(price).toRealFixed(); 328 if (typeof isFormat !== 'undefined') { 329 if (isFormat) { 330 return numeral().unformat(convertPrice); 331 } 332 } 333 334 return convertPrice; 335} 336 337/** 338 * ì¶ê°íí íì¨ë³í 339 * 340 * @param price ê¸ì¡ 341 * @param isFormat í¬ë§·ì¬ë¶ 342 * @returns {*} 343 */ 344function gd_add_money_format(price, isFormat) { 345 var convertPrice = fx.convert(price, {to: gdCurrencyAddCode}).toRealFixed(gdCurrencyAddDecimal, gdCurrencyAddDecimalFormat); 346 if (typeof isFormat !== 'undefined') { 347 if (isFormat) { 348 return numeral().unformat(convertPrice); 349 } 350 } 351 352 return convertPrice; 353} 354 355/** 356 * ìëì°íì í¸ì¶ 357 * @param array options ì°½ì ë³´ 358 * @return object Window ê°ì²´ 359 */ 360function gd_popup(options) { 361 if (!options.width) options.width = 500; 362 if (!options.height) options.height = 415; 363 var status = new Array(); 364 $.each(options, function (i, v) { 365 if ($.inArray(i, ['url', 'target']) == '-1') { 366 status.push(i + '=' + v); 367 } 368 }); 369 var status = status.join(','); 370 var win = window.open(options.url, options.target, status); 371 return win; 372} 373 374/** 375 * íµì í매ì¬ì ì ìì¸ì¡°íì°½ 376 * @param string businessNo ì¬ì ì ë²í¸ 377 * @return 378 */ 379function gd_popup_bizInfo(businessNo) { 380 var url = 'http://www.ftc.go.kr/info/bizinfo/communicationViewPopup.jsp?wrkr_no=' + businessNo; 381 var win = gd_popup({ 382 url: url 383 , target: 'communicationViewPopup' 384 , width: 750 385 , height: 700 386 , resizable: 'no' 387 , scrollbars: 'no' 388 });
389 win.focus(); 390 return win; 391} 392 393/** 394 * íì ì°½ Cookie 컨í¸ë¡¤ 395 * @param string name íì ì°½ ì´ë¦ (ì½ë_ì°½ì¢ ë¥) 396 * @param object elemnt elemnt 397 * @return 398 */ 399function gd_popup_cookie(name, elemnt) { 400 if (elemnt.checked === true) { 401 $.cookie(name, 'true', {path: '/', expires: 1}); 402 var popupKind = name.split('_'); 403 if (popupKind[1] == 'window') { 404 setTimeout('self.close()'); 405 } else { 406 setTimeout("$('#" + name + "').hide()"); 407 } 408 } else { 409 $.cookie(name, null); 410 } 411 return; 412} 413 414/** 415 * ë©ì¼ ëë©ì¸ ì í 416 */ 417function gd_select_email_domain(name,select) { 418 if (typeof select === 'undefined') { 419 select = 'emailDomain'; 420 } 421 var $email = $(':text[name=' + name + ']'); 422 var $emailDomain = $('select[id='+select+']'); 423 $emailDomain.on('change', function (e) { 424 var emailValue = $email.val(); 425 var indexOf = emailValue.indexOf('@'); 426 if (indexOf == -1) { 427 if ($emailDomain.val() === 'self') { 428 $email.val(emailValue + '@'); 429 } else { 430 $email.val(emailValue + '@' + $emailDomain.val()); 431 } 432 $email.trigger('focusout'); 433 } else { 434 if ($emailDomain.val() === 'self') { 435 $email.val(emailValue.substring(0, indexOf + 1)); 436 $email.focus(); 437 } else { 438 $email.val(emailValue.substring(0, indexOf + 1) + $emailDomain.val()); 439 $email.trigger('focusout'); 440 } 441 } 442 }); 443} 444 445/** 446 * ëë¡ëª 주ì 찾기 (íì ) 447 * 448 * @author artherot 449 * @param string zoneCodeID zonecode input ID 450 * @param string addrID address input ID 451 * @param string zipCodeID zipcode input ID 452 */ 453function gd_postcode_search(zoneCodeID, addrID, zipCodeID) { 454 var win = gd_popup({ 455 url: '../share/postcode_search.php?zoneCodeID=' + zoneCodeID + '&addrID=' + addrID + '&zipCodeID=' + zipCodeID, 456 target: 'postcode', 457 width: 540, 458 height: 700, 459 resizable: 'yes', 460 scrollbars: 'yes' 461 }); 462 win.focus(); 463 return win; 464} 465 466/** 467 * ë¹íì ê°ì¸ì ë³´ ìì§í목 ëì ë§í¬ 468 */ 469function gd_redirect_collection_agree() { 470 window.open('/service/private.php'); 471} 472 473/** 474 * íì¼ ì ë¡ë ê°ì²´ 475 */ 476var gdAjaxUpload = { 477 upload : function(data) { 478 var formData = new FormData(); 479 for (var k in data.params){ 480 if (data.params.hasOwnProperty(k)) { 481 formData.append(k, data.params[k]); 482 } 483 } 484 if(data.onbeforeunload){ 485 window.onbeforeunload = data.onbeforeunload; 486 data.formObj.on("submit", function () { 487 window.onbeforeunload = null; 488 }); 489 } 490 491 if(data.formObj.find('[name=uploadType][value=ajax]').length < 1) { 492 data.formObj.append('<input type="hidden" name="uploadType" value="ajax" >'); 493 } 494 var index = data.thisObj.closest('form').find('input:file').index(data.thisObj); 495 formData.append('uploadFile', data.thisObj[0].files[0]); 496 497 $.ajax({
498 url: data.actionUrl, 499 type: 'POST', 500 data: formData, 501 async: false, 502 cache: false, 503 contentType: false, 504 processData: false, 505 dataType: 'json', 506 success: function (returnData) { 507 returnData['index'] = index; 508 if(returnData.result == 'ok') { 509 if ($('input[name="uploadFileNm[' + index + ']"]').length == 0) { 510 data.formObj.append("<input type='hidden' name='uploadFileNm[" + index + "]' value='" + returnData.uploadFileNm + "'>"); 511 data.formObj.append("<input type='hidden' name='saveFileNm[" + index + "]' value='" + returnData.saveFileNm + "'>"); 512 } 513 else { 514 $("input[name='uploadFileNm[" + index + "]']").val(returnData.uploadFileNm); 515 $("input[name='saveFileNm[" + index + "]']").val(returnData.saveFileNm); 516 } 517 if(typeof data.successAfter == 'function') { 518 data.successAfter(returnData); 519 } 520 } 521 else if(returnData.result == 'cancel'){ 522 if ($("input[name='uploadFileNm[" + index + "]']").length > 0) { 523 $("input[name='uploadFileNm[" + index + "]']").remove(); 524 $("input[name='saveFileNm[" + index + "]']").remove(); 525 } 526 } 527 else { 528 gdAjaxUpload.isSuccess = false; 529 $('label[for=attach' + (index + 1) + '] .text').val(''); //íì¼ìì¤í í ì¤í¸ ë¹ê° ì²ë¦¬ 530 alert(returnData.errorMsg); 531 if(typeof data.failAfter == 'function') { 532 data.failAfter(returnData); 533 } 534 } 535 } 536 }); 537 } 538}; 539 540/** 541 * íë ì 리ì¬ì´ì¦ 542 */ 543function gd_resize_frame(obj) { 544 var iframeHeight = (obj).contentWindow.document.body.clientHeight; 545 (obj).height = iframeHeight + 80; 546} 547 548/** 549 550* íìë¤ì´ë¡ë ì¿ í° ë§í¬ ë¤ì´ ë°ê¸° 551 552* 553 554* @param couponNo 555 556*/ 557 558function couponLinkDown(couponNo) { 559 560var params = { 561 562mode: "couponDownLink", 563 564couponCode: couponNo 565 566}; 567 568$.ajax({ 569 570method: "POST", 571 572cache: false, 573 574url: "/mypage/coupon_link_down.php", 575 576data: params, 577 578success: function (data) { 579 580result = JSON.parse(data); 581 582alert(result['msg']); 583 584}, 585 586error: function (data) { 587 588alert(result['msg']); 589 590} 591 592}); 593 594} 595 596 597 598 599 600/** 601 * PG ê´ë ¨ ììì¦ ë³´ê¸° 602 * 603 * @author artherot 604 * @param string modeStr ì¹´ë, íê¸ììì¦ ì¢ ë¥ (card, cash) 605 * @param string orderNo 주문 ë²í¸ 606 */ 607function gd_pg_receipt_view(modeStr, orderNo) { 608 // ì¬ì´ì¦ë¥¼ 미리 ì¤ì - ìëì¼ë¡ ì°½ì´ ì»¤ì§ì§ ìì 미리 ì¤ì í¨ 609 var preWidth = 430; 610 var preHeight = 700; 611 612 // 미리 íì ì°½ì ëì°ê¸° 613 var prePopupData = { 614 'url': 'about:blank', 615 'target': 'show_receipt', 616 'width': preWidth, 617 'height': preHeight 618 }; 619 var show_receipt = gd_popup(prePopupData); 620 621 // ê° PGë³ ììì¦ íì ì°½ 622 $.post('../share/show_receipt.php', { 623 mode: modeStr, 624 orderNo: orderNo 625 }, function (data) { 626 var infoData = data; 627 if (typeof infoData['error'] == 'undefined') { 628 gd_popup(infoData); 629 } 630 else { 631 alert(infoData['error']); 632 show_receipt.close(); 633 } 634 }, 'json'); 635} 636 637/*** IE ë²ì ì²´í¬ ***/ 638function gd_is_ie () { 639 var nav = navigator.userAgent.toLowerCase(); 640 if (nav.indexOf('msie') != -1) { 641 return parseInt(nav.split('msie')[1]); 642 } else { 643 return false; 644 } 645} 646 647/** 648 * 쿼리ì¤í¸ë§ê° 찾기 649 * @param query 650 * @param variable 651 * @returns {string} 652 */ 653function gd_get_query_variable(query, variable) { 654 var vars = query.split('&'); 655 for (var i = 0; i < vars.length; i++) { 656 var pair = vars[i].split('='); 657 if (decodeURIComponent(pair[0]) == variable) { 658 return decodeURIComponent(pair[1]); 659 } 660 }
661 console.log('Query variable %s not found', variable); 662} 663 664/** 665 * ëì ì¤í¬ë¦½í¸ ë°ì¸ë© (ì¤í¬ë¦½í¸ ë¡ë© í ë©ìë ì¤íëëë¡ ì²ë¦¬) 666 * 667 * @author Jong-tae Ahn 668 * @param number 669 * @param places 670 * @param symbol 671 * @param thousand 672 * @param decimal 673 * @returns {string} 674 */ 675function add_script(url, callback) { 676 var done = false; // ì¤í¬ë¦½í¸ ë¡ë© ì¬ë¶ 677 var head = document.getElementsByTagName("head")[0] || document.documentElement; 678 var script = document.createElement("script"); 679 680 //script.charset = 'UTF-8'; 681 script.src = url; 682 script.onload = script.onreadystatechange = function () { 683 if (!done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { 684 done = true; 685 callback(); 686 687 // IEìì ë©ëª¨ë¦¬ ëì ë°©ì§ë¥¼ ìí ì²ë¦¬ 688 script.onload = script.onreadystatechange = null; 689 if (head && script.parentNode) { 690 head.removeChild(script); 691 } 692 } 693 }; 694 695 // Use insertBefore instead of appendChild to circumvent an IE6 bug. 696 // This arises when a base node is used (#2709 and #4378). 697 head.insertBefore(script, head.firstChild); 698}
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.