1jQuery(function ($) { 2 var uriNext; 3 var uri1 = "/shipped-ajax"; 4 var uri; 5 var iter = 1; 6 let model = 0; 7 8 if ($("body").hasClass("template-18")) { 9 uri1 = "/shipped-ajax"; 10 } 11 12 if ($("body").hasClass("template-25")) { 13 uri1 = "/review-ajax"; 14 } 15 16 if ($("body").hasClass("template-28")) { 17 uri1 = "/portfolio-ajax"; 18 } 19 20 if ($("body").hasClass("template-50")) { 21 uri1 = "/faq-ajax"; 22 } 23 24 if ($("body").hasClass("template-52")) { 25 uri1 = "/articles-ajax"; 26 } 27 28 if ($("body").hasClass("template-33")) { 29 uri1 = "/teh-ajax"; 30 } 31 32 uri = uri1; 33 34 // ÐеÑÐ²Ð°Ñ ÑÑÑаниÑа Ñже оÑÑендеÑена на ÑеÑвеÑе (SSR) â не делаем повÑоÑнÑй запÑÐ¾Ñ 35 if ($(".wrapper .view-content").length) { 36 initFromServer(); 37 } else { 38 startCatalog(); 39 } 40 41 $(".bef-select-as-links .form-type-bef-link a").click(function () { 42 $(".bef-select-as-links .form-type-bef-link a").removeClass("active"); 43 $(this).addClass("active"); 44 let dataValue = $(this).attr("data-id"); 45 if (dataValue == 0) { 46 uri = uri1; 47 } else { 48 if (model == 0) { 49 uriNext = "page-review=" + dataValue; 50 uri = uri1 + "?" + uriNext; 51 } else { 52 uriNext = "page-review=" + dataValue; 53 uriNext = uriNext + "&filter_models=" + model; 54 uri = uri1 + "?" + uriNext; 55 } 56 } 57 58 startCatalog(1); 59 startTop(); 60 return false; 61 }); 62 63 $(".bef-model a:not(.page-list__tag--more)").click(function () { 64 console.log(11); 65 $(".bef-model a").removeClass("active"); 66 $(this).addClass("active"); 67 68 model = $(this).attr("data-id"); 69 70 let dataValue = 0; 71 72 $(".bef-select-as-links .form-type-bef-link a").each(function () { 73 if ($(this).hasClass("active")) { 74 dataValue = $(this).attr("data-id"); 75 } 76 }); 77 78 if (dataValue == 0) { 79 if (model == 0) { 80 uri = uri1; 81 } else { 82 uriNext = "&filter_models=" + model; 83 uri = uri1 + "?" + uriNext; 84 } 85 } else { 86 if (model == 0) { 87 uriNext = "page-review=" + dataValue; 88 uri = uri1 + "?" + uriNext; 89 } else { 90 uriNext = "page-review=" + dataValue; 91 uriNext = uriNext + "&filter_models=" + model; 92 uri = uri1 + "?" + uriNext; 93 } 94 } 95 96 startCatalog(1); 97 startTop(); 98 return false; 99 }); 100 101 function startCatalog(clean) { 102 console.log(uri); 103 $("#more").hide(); 104 105 $(".wrapper").append( 106 '<div class="ajax_overlay"><div class="ajax_loader"><img src="/assets/zavod/images/renew.svg" alt="" /></div></div>', 107 ); 108 $(".wrapper").removeClass("opacity"); 109 $.ajax({ 110 url: uri, 111 cache: false, 112 success: function (html) { 113 $(".wrapper").find(".ajax_overlay").detach(); 114 115 if (clean == 1) { 116 iter = 1; 117 $(".wrapper").html('<div class="inner-' + iter + '"></div>'); 118 } else { 119 $(".wrapper").append('<div class="inner-' + iter + '"></div>'); 120 } 121 $(".wrapper").addClass("opacity"); 122 $(".wrapper") 123 .find(".inner-" + iter) 124 .html(html); 125 126 if (typeof window.fixRutubeLinks === "function") { 127 window.fixRutubeLinks($(".wrapper").find(".inner-" + iter)); 128 } 129 130 let pageNext = $(".wrapper") 131 .find(".inner-" + iter) 132 .find(".pagination .next a") 133 .attr("href"); 134 135 if (pageNext) { 136 $("#more a").attr("data-next", pageNext); 137 $("#more").show(); 138 } else { 139 $("#more a").attr("data-next", ""); 140 } 141 142 iter++; 143 }, 144 }); 145 } 146 147 function initFromServer() { 148 // обоÑаÑиваем ÑеÑвеÑнÑй конÑÐµÐ½Ñ Ð² .inner-1, ÑÑÐ¾Ð±Ñ "ÐоказаÑÑ ÐµÑÑ" ÑабоÑало как обÑÑно 149 $(".wrapper").children().wrapAll('<div class="inner-1"></div>'); 150 iter = 2; 151 $(".wrapper").addClass("opacity"); 152 153 if (typeof window.fixRutubeLinks === "function") { 154 window.fixRutubeLinks($(".wrapper .inner-1")); 155 } 156 157 var nextHref = $(".wrapper .inner-1 .pagination .next a").attr("href"); 158 if (nextHref) { 159 var m = nextHref.match(/[?&]page=(\d+)/); 160 var nextPage = m ? m[1] : 2;
161 // data-next должен ÑказÑваÑÑ Ð½Ð° ajax-ÑндпоинÑ, а не на адÑÐµÑ ÑÑÑаниÑÑ 162 $("#more a").attr( 163 "data-next", 164 uri1.replace(/^\//, "") + "?page=" + nextPage, 165 ); 166 $("#more").show(); 167 } else { 168 $("#more a").attr("data-next", ""); 169 $("#more").hide(); 170 } 171 } 172 173 $("#more").on("click", function () { 174 let pageNext = "/" + $("#more a").attr("data-next"); 175 if (pageNext.includes("&_")) { 176 pageNext = pageNext.split("&_"); 177 uri = pageNext[0]; 178 } else { 179 uri = pageNext; 180 } 181 182 startCatalog(); 183 //startTop(); 184 185 return false; 186 }); 187 188 function startTop() { 189 var topId = $(".wrapper").offset().top - 50; 190 $("body,html").animate({ scrollTop: topId }, 500); 191 } 192}); 193 194// RuTube: пÑеобÑазÑем обÑÑнÑе ÑÑÑлки /video/{id}/ в embed /play/embed/{id} 195(function (global) { 196 function toRutubeEmbed(url) { 197 if (!url || url.indexOf("rutube.ru") === -1) return url; 198 if (url.indexOf("/play/embed/") !== -1) return url; 199 // (?:private\/)? â пÑопÑÑкаем ÑÐµÐ³Ð¼ÐµÐ½Ñ private Ñ Ð¿ÑиваÑнÑÑ ÑÑÑлок 200 // shorts/{id} â ÑоÑÑÑÑ, ÑÑÑаниÑа ÑоÑÑÑа во ÑÑейме не оÑкÑÑваеÑÑÑ (X-Frame-Options) 201 var m = url.match( 202 /rutube\.ru\/(?:video\/(?:private\/)?|shorts\/)([0-9a-zA-Z]+)/, 203 ); 204 if (!m) return url; 205 var id = m[1]; 206 var q = url.indexOf("?"); 207 var query = q !== -1 ? url.slice(q) : ""; 208 return "https://rutube.ru/play/embed/" + id + query; 209 } 210 211 // context â DOM-Ñзел или jQuery-обÑекÑ, в пÑÐµÐ´ÐµÐ»Ð°Ñ ÐºÐ¾ÑоÑого иÑкаÑÑ ÑÑÑлки 212 function fixRutubeLinks(context) { 213 $("a[data-fancybox][href*='rutube.ru']", context).each(function () { 214 var $a = $(this); 215 var href = $a.attr("href"); 216 $a.attr("href", toRutubeEmbed(href)); 217 // ÑоÑÑÑÑ Ð²ÐµÑÑикалÑнÑе â окно 9:16 вмеÑÑо 16:9 218 if (href.indexOf("/shorts/") !== -1) { 219 $a.attr({ "data-width": 405, "data-height": 720 }); 220 } 221 if (!$a.attr("data-type")) $a.attr("data-type", "iframe"); 222 }); 223 } 224 225 // делаем доÑÑÑпной ÑнаÑÑжи 226 global.fixRutubeLinks = fixRutubeLinks; 227 228 // обÑабоÑка ÑÑÑлок, коÑоÑÑе Ñже еÑÑÑ Ð½Ð° ÑÑÑаниÑе пÑи пеÑвой загÑÑзке 229 $(function () { 230 fixRutubeLinks(document); 231 }); 232})(window);
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.