1/* ========================================================================= 2 ÐÑÐ»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ð·Ð°Ð³ÑÑзка Ð½Ð¸Ð¶Ð½Ð¸Ñ Ð¼Ð¾Ð´Ñлей Tourvisor 3 ========================================================================= 4 Ðа главной ÑÑи модÑÐ»Ñ Tourvisor: ÑоÑма поиÑка на пеÑвом ÑкÑане, 5 «ÐинималÑнÑе ÑенÑ» и «ÐоÑÑÑие ÑÑÑÑ» â ниже по ÑÑÑаниÑе. 6 7 ÐаждÑй ÑÑебÑÐµÑ Ñвоего вÑзова init.js â Ñак ÑÑÑÑоен Ñам Tourvisor. 8 УбÑаÑÑ Â«Ð»Ð¸Ñние» подклÑÑÐµÐ½Ð¸Ñ Ð½ÐµÐ»ÑзÑ, модÑли пеÑеÑÑанÑÑ ÑабоÑаÑÑ. 9 10 ÐаÑо можно не гÑÑзиÑÑ Ð¸Ñ ÑÑазÑ. РанÑÑе вÑе ÑÑи ÑÑаÑÑовали пÑи 11 оÑкÑÑÑии ÑÑÑаниÑÑ Ð¸ ÑÑнÑли за Ñобой деÑÑÑки запÑоÑов к ÑеÑвеÑам 12 Tourvisor, вклÑÑÐ°Ñ Ð¾ÑвеÑÑ Ð¿Ð¾Ð´ ÑоÑни килобайÑ. Человек, пÑиÑедÑий 13 поÑиÑаÑÑ Ð¿Ñо визÑ, ждал загÑÑÐ·ÐºÑ Ð¼Ð¾Ð´Ñлей, коÑоÑÑе даже не ÑвидиÑ. 14 15 ТепеÑÑ Ð½Ð¸Ð¶Ð½Ð¸Ðµ модÑли подклÑÑаÑÑÑÑ, когда поÑеÑиÑÐµÐ»Ñ Ð´Ð¾ Ð½Ð¸Ñ 16 доÑкÑоллил. ФоÑма поиÑка на пеÑвом ÑкÑане гÑÑзиÑÑÑ ÑÑÐ°Ð·Ñ â 17 она Ð³Ð»Ð°Ð²Ð½Ð°Ñ Ð¸ должна бÑÑÑ Ð³Ð¾Ñова к нажаÑиÑ. 18 19 ÐагÑÑзка наÑинаеÑÑÑ Ñ Ð·Ð°Ð¿Ð°Ñом в 300 пикÑелей до поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ°: 20 к моменÑÑ, когда Ñеловек долиÑÑаеÑ, модÑÐ»Ñ Ð¾Ð±ÑÑно Ñже гоÑов. 21 ========================================================================= */ 22 23(function () { 24 'use strict'; 25 26 var SRC = 'https://tourvisor.ru/module/init.js'; 27 28 var blocks = document.querySelectorAll('[data-tv-lazy]'); 29 if (!blocks.length) return; 30 31 /* ÐÑаÑÐ·ÐµÑ Ð±ÐµÐ· IntersectionObserver â гÑÑзим ÑÑазÑ, как ÑанÑÑе. 32 ÐÑÑÑе лиÑний запÑоÑ, Ñем пÑÑÑой блок вмеÑÑо Ñен. */ 33 if (!('IntersectionObserver' in window)) { 34 blocks.forEach(load); 35 return; 36 } 37 38 function load(block) { 39 if (block.dataset.tvLoaded) return; 40 block.dataset.tvLoaded = '1'; 41 42 var script = document.createElement('script'); 43 script.type = 'text/javascript'; 44 script.src = SRC; 45 block.appendChild(script); 46 } 47 48 var observer = new IntersectionObserver(function (entries) { 49 entries.forEach(function (entry) { 50 if (!entry.isIntersecting) return; 51 load(entry.target); 52 observer.unobserve(entry.target); 53 }); 54 }, { rootMargin: '300px' }); 55 56 blocks.forEach(function (b) { observer.observe(b); }); 57})();
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.