1(function(){ 2 3 var smartSearchAdd = new Event(`smartSearchAdded`, {bubbles: true}); 4 5 async function get_data_smart_search() { 6 let url = new URL(window.location.href); 7 8 var main_url = url.origin + shop2.uri + '/search' + '?search_smart_only=1'; 9 10 let response = await fetch( main_url,{credentials: 'same-origin',} ); 11 let text_data = await response.text(); 12 var parser = new DOMParser(); 13 14 if (response.status == '404') { 15 return false 16 } 17 18 var doc_data = parser.parseFromString(text_data, "text/html"); 19 20 return doc_data; 21 } 22 var count_func = 0; 23 24 function load_scripts( array_path ) { 25 if( !array_path[ count_func ] ){ 26 return; 27 } 28 var script = document.createElement('script'); 29 script.src = array_path[ count_func ]; 30 document.body.appendChild(script); 31 32 script.onload = function(){ 33 load_scripts(array_path); 34 } 35 count_func++ 36 } 37 38 39 var doneInteraction = false; // пеÑеклÑÑаÑÐµÐ»Ñ 40 41 function init_smart_search() { 42 if( doneInteraction ){ 43 document.removeEventListener('scroll', init_smart_search ); 44 document.removeEventListener('mousemove', init_smart_search ); 45 document.removeEventListener('touchstart', init_smart_search ); 46 document.removeEventListener('keydown', init_smart_search ); 47 document.removeEventListener('click', init_smart_search ); 48 return; 49 } 50 51 get_data_smart_search().then(function(data){ 52 53 if(data){ 54 55 var search_block = document.querySelector('#search-app-container'); 56 57 if( !search_block ){ 58 console.error('УмнÑй поиÑк, блок Ñ Ð°Ð¹Ð´Ð¸ #search-app-container не найден'); 59 return; 60 } 61 62 search_block.innerHTML = data.body.innerHTML; 63 64 document.dispatchEvent(smartSearchAdd); 65 66 try{ 67 var _search_smart_array_path = search_smart_array_path ? search_smart_array_path : false; 68 }catch(e){} 69 try{ 70 var my_search_smart_array_path = shop2.my.search_smart_array_path ? shop2.my.search_smart_array_path : false 71 }catch(e){} 72 73 if( _search_smart_array_path ){ 74 75 var array_path = search_smart_array_path; 76 77 }else if( my_search_smart_array_path ){ 78 79 var array_path = shop2.my.search_smart_array_path.split(','); 80 81 }else { 82 83 var array_path = [ 84 "/g/libs/vue/2.4.3/vue.min.js", 85 "/g/libs/ba_throttle_debounce/js/jquery.ba_throttle_debounce.min.js", 86 "/g/libs/vue_clickaway/js/vue_clickaway.min.js", 87 "/g/templates/shop2/2.130.2/default-3/js/m.smart_search.js"]; 88 } 89 90 load_scripts( array_path ); 91 92 93 }else { 94 // Ð½ÐµÑ HTML из shop2.2.130.tpl 95 } 96 }); 97 98 doneInteraction = true; 99 100 createCookie('gr_search_init_done', 1, 30); 101 } 102 103 if (readCookie('gr_search_init_done') == '1') { 104 init_smart_search(); 105 }; 106 107 document.addEventListener('scroll', init_smart_search ); 108 document.addEventListener('mousemove', init_smart_search ); 109 document.addEventListener('touchstart', init_smart_search ); 110 document.addEventListener('keydown', init_smart_search ); 111 document.addEventListener('click', init_smart_search ); 112 113})();
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.