1$(document).ready(function () { 2 function ajaxLinkHandle(a) { 3 SerpstatMain.scoreEvent($(this).attr('data-event')); 4 5 if (a.ctrlKey) return true; 6 7 a.preventDefault(); 8 var that = $(this), 9 url = that.is('a') ? that.attr('href') : that.data('href'), 10 block_id = SerpstatMain.getAttr(that, 'data-id', '#content'), 11 pages_block = that.closest('.pagination'), 12 loader = SerpstatMain.getAttr(that, 'data-loader', true); 13 14 if (pages_block) { 15 block_id = SerpstatMain.getAttr(pages_block, 'data-id', block_id); 16 } 17 18 var temp_href = window.location.href; 19 if (temp_href.indexOf('http://rank-tracker') !== -1) { 20 url = url.replace('https://serpstat.com', ''); 21 window.location.href = 'https://serpstat.com' + url; 22 return false; 23 } 24 25 var pathArray = window.location.pathname.split('/'); 26 var urlArray = url.split('/'); 27 if ( 28 (pathArray[1] == 'blog' || pathArray[2] == 'blog') && 29 block_id == '#content' 30 ) { 31 if ( 32 urlArray[1].indexOf('blog?') === -1 && 33 urlArray[2].indexOf('blog?') === -1 && 34 (urlArray[1] !== 'blog' && urlArray[2] !== 'category') && 35 (urlArray[2] !== 'blog' && urlArray[3] !== 'category') 36 ) { 37 window.location.href = url; 38 return false; 39 } 40 } 41 42 SerpstatMain.getPage(url, block_id, true, 'GET', true, loader); 43 $('.super_nav_close').click(); 44 45 return false; 46 } 47 48 $('body').on( 49 'click', 50 '.ajax_link, .pagination:not([data-id="#keywords_page"]) li a', 51 ajaxLinkHandle 52 ); 53 54 $( 55 [ 56 '#first_name_demo', 57 '#email_demo', 58 '#phone_demo', 59 '#first_name_demo_f', 60 '#email_demo_f', 61 '#phone_demo_f', 62 '#mb_first_name_demo', 63 '#mb_email_demo', 64 '#mb_phone_demo', 65 '#subscribe_email', 66 '#footer_subscribe_email', 67 ].join(', ') 68 ) 69 .unbind('keyup') 70 .bind('keyup', function () { 71 72 if ($('#recaptcha_v2_script').length == 0) { 73 var dsq = document.createElement('script'); 74 dsq.type = 'text/javascript'; 75 dsq.async = true; 76 dsq.id = 'recaptcha_v2_script'; 77 dsq.src = 'https://www.google.com/recaptcha/api.js?onload=recaptchaCallback&render=explicit'; 78 (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 79 } 80 81 if ( 82 $('#first_name_demo_f').length && 83 $('#first_name_demo_f').val().length >= 1 && 84 $('#email_demo_f').val().length > 5 && 85 $('#phone_demo_f').val().length > 12 86 ) { 87 $('#recaptcha_request_demo_f').removeAttr('style'); 88 } 89 if ($('#mb_first_name_demo').length) { 90 if ( 91 $('#mb_first_name_demo').val().length >= 1 && 92 $('#mb_email_demo').val().length > 5 && 93 $('#mb_phone_demo').val().length > 12 94 ) { 95 $('#mb_recaptcha_request_demo').removeAttr('style'); 96 } 97 } 98 99 if ($('#subscribe_email').length && $('#subscribe_email').val().length > 5) { 100 $('#mb_recaptcha_subscribe').removeAttr('style'); 101 } 102 103 if ($('#footer_subscribe_email').length && $('#footer_subscribe_email').val().length > 5) { 104 $('#footer_recaptcha_subscribe').removeAttr('style'); 105 } 106 if ($('#first_name_demo').length) { 107 if ( 108 $('#first_name_demo').val().length >= 1 && 109 $('#email_demo').val().length > 5 && 110 $('#phone_demo').val().length > 12 111 ) { 112 $('#recaptcha_request_demo') 113 .removeAttr('style') 114 .addClass('validate || validate_captcha'); 115 } 116 } 117 }); 118 119 $('body').on('submit', '.ajax_filter_submit', function () { 120 var form = $(this).closest('form'), 121 filter = SerpstatMain.getFilterParams(form); 122 123 SerpstatMain.getPage( 124 form.attr('action') + '?' + filter, 125 '#content', 126 true, 127 'GET', 128 false 129 ); 130 131 return false; 132 }); 133 134 $('body').on('click', '.not_available_alert', function () { 135 doAlert('info', $(this).attr('data-text')); 136 return false; 137 }); 138 139 $('body').on('click', '.ajax_sort', function () { 140 var that = $(this); 141 142 /*if(that.closest('table').hasClass('table_sort')) { 143 return true; 144 }*/ 145 146 var params = SerpstatMain.getUrlParams(window.location.search); 147 148 params['sort'] = that.attr('data-field'); 149 150 if (that.hasClass('th_sort_asc')) params['order'] = 'desc'; 151 else params['order'] = 'asc'; 152 153 SerpstatMain.getPage( 154 window.location.pathname + '?' + SerpstatMain.buildUri(params) 155 ); 156 157 return false;
158 }); 159 160 $('body').on('submit', '.ajax_form_page', function () { 161 let form = $(this).closest('form'), 162 block_id = SerpstatMain.getAttr(form, 'data-block', '#content'), 163 url = SerpstatMain.formParamsToUrl(form); 164 165 // оÑклÑÑил ajax-ÑÐ°Ð±Ð¼Ð¸Ñ Ð´Ð»Ñ ÑеÑÑ Ð±Ð°Ñа, Ð´Ð»Ñ Ð»ÐµÐ³ÐºÐ¾ÑÑи пееÑÑ Ð¾Ð´Ð° на ÑÐµÐ°ÐºÑ 166 if (form.hasClass('main_search_form')) { 167 window.location.href = url; 168 } else { 169 SerpstatMain.getPage(url, block_id); 170 } 171 172 return false; 173 }); 174 175 176 $('body').on('change', '.ajax_change', function () { 177 var form = $(this).closest('form'); 178 form.submit(); 179 return false; 180 }); 181 182 function dropdownSubmit() { 183 var form = $(this).closest('form'), 184 id = form.attr('data-block'), 185 join_sign, 186 parser = document.createElement('a'), 187 elements = SerpstatMain.getFormElements(form); 188 parser.href = form.attr('action'); 189 join_sign = parser.search ? '&' : '?'; 190 // ÑдалÑем пагинаÑÐ¸Ñ Ð¿Ñи пеÑÐµÑ Ð¾Ð´Ðµ 191 SerpstatMain.getPage( 192 form.attr('action').replace(/page=[0-9]+&?/g, '') + 193 join_sign + 194 $.param(elements) 195 ); 196 return false; 197 } 198 199 $('body') 200 .on('dropdown.afterSelect', '.ajax_dropdown_on_change', dropdownSubmit) 201 .on('click', '#tags_apply', dropdownSubmit); 202 203 $('body').on('submit', '.ajax_form', function (e) { 204 e.preventDefault(); 205 var $this = $(this), 206 callback = $this.data('callback'); 207 if (validate($this)) { 208 SerpstatMain.ajaxSubmit($(this)).then(function () { 209 if (callback) { 210 eval(callback); 211 } 212 213 if (!$this.closest('form').hasClass('ajax_errors_inline')) { 214 $('.dialog').myDialog('close'); 215 } 216 }); 217 } 218 return false; 219 }); 220 221 $('body').on('click', '.ajax_delete', function () { 222 var that = $(this), 223 msg = SerpstatMain.getAttr(that, 'data-confirm', 'Are you sure?'), 224 row_tag = SerpstatMain.getAttr(that, 'data-row', 'tr'), 225 row = that.closest(row_tag); 226 227 dialogConfirm(msg, function () { 228 $.ajax({ 229 url: that.attr('href'), 230 type: 'POST', 231 dataType: 'json', 232 beforeSend: function (req) { }, 233 success: function (data) { 234 if (data.status_code == 200) { 235 row.remove(); 236 } else { 237 doAlert('error', data.result); 238 } 239 } 240 }); 241 }); 242 243 return false; 244 }); 245 246 $('#content').on('click', '.play_video', function () { 247 $(this).html($(this).attr('data-code')); 248 }); 249 250 $('#content').on('click', '.select_se', function () { 251 $('.main_search_form') 252 .find('input[name=se]') 253 .attr('value', $(this).attr('data-val')); 254 }); 255 256 $('body').on('click', '.set_lang_proposal', function () { 257 var lang = $(this).attr('data-lang'), 258 site_domain = location.hostname 259 .split('.') 260 .slice(-2) 261 .join('.'); 262 $('.lp_wrapper').hide(); 263 264 $.cookie('language_proposal_closed', lang, { path: '/', domain: '.' + site_domain }); 265 }); 266 267 268 $('body').on('click', '.set_page_size', function() { 269 var $this = $(this), 270 $wrapper = $this.closest('.dropdown_handler'), 271 block_id = SerpstatMain.getAttr($wrapper, 'data-block_id', '#content'), 272 load_url = $wrapper.data('url'); 273 274 $.cookie('search_results', $(this).attr('data-val'), { path: '/' }); 275 var params = SerpstatMain.getUrlParams(window.location.href); 276 277 // combine window.location parameters with load_url parameters 278 var el = document.createElement('a'); 279 el.href = load_url; 280 var load_url_clean = el.origin + el.pathname; 281 var load_url_params = SerpstatMain.getUrlParams(load_url); 282 283 for (var param in load_url_params) { 284 if ( 285 !( 286 params.hasOwnProperty(param) && 287 params[param] == load_url_params[param] 288 ) 289 ) { 290 params[param] = load_url_params[param]; 291 } 292 } 293 294 if (params['page'] != undefined) { 295 delete params['page']; 296 } 297 298 var url = load_url_clean + '?' + SerpstatMain.buildUri(params); 299 SerpstatMain.getPage(url, block_id); 300 }); 301 302 $('body').on('click', '.set_page_size_get_parameter', function () { 303 var $this = $(this), 304 $wrapper = $this.closest('.dropdown_handler'), 305 block_id = SerpstatMain.getAttr($wrapper, 'data-block_id', '#content'), 306 load_url = $wrapper.data('url'); 307 308 var params = SerpstatMain.getUrlParams(window.location.href); 309
310 // combine window.location parameters with load_url parameters 311 var el = document.createElement('a'); 312 el.href = load_url; 313 var load_url_clean = el.origin + el.pathname; 314 var load_url_params = SerpstatMain.getUrlParams(load_url); 315 for (var param in load_url_params) { 316 if ( 317 !( 318 params.hasOwnProperty(param) && 319 params[param] == load_url_params[param] 320 ) 321 ) { 322 params[param] = load_url_params[param]; 323 } 324 } 325 326 if (params['page'] != undefined) { 327 delete params['page']; 328 } 329 330 if (params['page_size'] != undefined) { 331 delete params['page_size']; 332 } 333 334 params['page_size'] = $(this).attr('data-val'); 335 336 var url = load_url_clean + '?' + SerpstatMain.buildUri(params); 337 SerpstatMain.getPage(url, block_id); 338 }); 339 340 $('body').on('click', '.ajax_request', function () { 341 $.ajax({ 342 url: $(this).attr('href'), 343 type: 'GET', 344 dataType: 'json', 345 success: function (data) { 346 if (data.status_code == 200) { 347 doAlert('success', data.result); 348 } else { 349 doAlert('error', data.result); 350 } 351 } 352 }); 353 354 return false; 355 }); 356 357 $('body') 358 .on('click', '.download_as_image', function () { 359 var that = $(this), 360 block = document.getElementById(that.attr('data-id')); 361 362 onScreen('toggle'); 363 364 SerpstatMain.getScript('/js/framework/html2canvas.js', function () { 365 that.hide(); 366 $('#' + that.attr('data-id')).css('background-color', 'white'); 367 368 html2canvas(block, { 369 onrendered: function (canvas) { 370 that.show(); 371 $('#' + that.attr('data-id')).css( 372 'background-color', 373 'rgba(0, 0, 0, 0)' 374 ); 375 var link = window.document.createElement('a'); 376 link.download = 'chart.png'; 377 link.href = canvas.toDataURL('image/png', 1.0); 378 link.click(); 379 } 380 }); 381 }); 382 383 return false; 384 }) 385 .on('click', '.ajax_get_block_link', function (e) { 386 e.preventDefault(); 387 var el = $(this); 388 var link = $(this).attr('href'), 389 block = $('#content_main'), 390 url = $(this).attr('href').replace('tutorial', 'manual'), 391 callback = function () { 392 $('body,html').animate( 393 { 394 scrollTop: block.offset().top 395 }, 396 'slow' 397 ); 398 SerpstatMain.changeUrl(link); 399 $('.ajax_get_block_link').each(function (i, item) { 400 $(item).removeClass('hovered'); 401 }) 402 $(el).addClass('hovered'); 403 }; 404 SerpstatMain.getAjaxBlock(url, 'content_main', true, callback); 405 }); 406 407 /** 408 * ÐоÑÑавил логаÑÑ ÑеÑÑии из ÐнÑеÑкома пÑи логаÑÑе полÑзоваÑÐµÐ»Ñ 409 */ 410 $('body').on('click', '.logout_link', function (e) { 411 e.preventDefault();
412 setCookie('PHPSESSID', '', 1); 413 localStorage.clear(); 414 window.location.assign($(this).attr('href')); 415 }); 416 417 $('body').on( 418 'click', 419 '.select_export_fields, .select_export_fields_q', 420 function getHref() { 421 href = $(this).attr('href'); 422 $('body').on('click', '#do_export, #do_export_q', function (e) { 423 e.preventDefault(); 424 href = href ? href : ''; 425 var dialog = $(this).parents('.dialog'); 426 var export_fields = Serpstat.get_fields(dialog.attr('data-suf')); 427 var suf = 428 typeof dialog.attr('data-suf') == 'undefined' 429 ? '' 430 : dialog.attr('data-suf'); 431 var logo = dialog.find('[name="logo' + suf + '"]:checked').val(); 432 dialog.myDialog('close'); 433 if (!logo) { 434 logo = 'serpstat'; 435 } 436 437 href += 438 '&pdf_export_fields=' + 439 export_fields.join(',') + 440 '&pdf_export_logo=' + 441 logo; 442 443 if ($('#keywords_block').data('period')) { 444 href += 445 '&pdf_export_keywords_period=' + 446 $('#keywords_block').data('period'); 447 } 448 449 if ($('#visible_block').data('period')) { 450 href += 451 '&pdf_export_visibility_period=' + 452 $('#visible_block').data('period'); 453 } 454 455 if ($('.select_export_fields').attr('data-export-type') == 'blank') { 456 window.open(href, '_blank'); 457 } else { 458 SerpstatMain.exportRequest(href); 459 } 460 delete window.href; 461 }); 462 } 463 ); 464 465 $('body').on( 466 'click', 467 '.select_export_fields, .ajax_request_export', 468 function () { 469 var $dropdown = $(this).closest('.dropdown_handler'); 470 // ÐакÑÑваем дÑопдаÑн 471 $dropdown.dropdown('click'); 472 } 473 ); 474 475 $('body').on('click', '.ajax_request_export', function () { 476 SerpstatMain.exportRequest($(this).attr('href')); 477 478 return false; 479 }); 480 $('body').on('submit', '.ajax_form_export', function () { 481 var url = SerpstatMain.formParamsToUrl($(this).closest('form')); 482 483 SerpstatMain.exportRequest(url); 484 485 return false; 486 }); 487 488 $('body').on('vueTeEditStart', '.ss_event', function (event) { 489 SerpstatMain.scoreEvent($(this).attr('data-event')); 490 }); 491 492 $('body') 493 .on('click', '[data-scoring_event]', addScoringEvent.bind(this)) 494 .on('change', ':input[data-scoring_event]', addScoringEvent.bind(this)) 495 .on( 496 'mouseover', 497 '[data-scoring_event][data-event_trigger="mouseover"]', 498 addScoringEvent.bind(this) 499 ); 500 501 $('body').on('click', '.ss_event', function () { 502 SerpstatMain.scoreEvent($(this).attr('data-event')); 503 }); 504 505 $('body').on('click', '.ss_sort_event .th_sort', function () { 506 SerpstatMain.scoreEvent( 507 $(this) 508 .closest('.ss_sort_event') 509 .attr('data-event') 510 ); 511 }); 512 513 $('body').on('keydown', '.ss_enter', function (e) { 514 if (e.keyCode == 13) { 515 SerpstatMain.scoreEvent($(this).attr('data-event')); 516 } 517 }); 518 519 $('body').on('mouseover', '.ss_mouseover', function () { 520 SerpstatMain.scoreEvent($(this).attr('data-event')); 521 $(this).removeClass('ss_mouseover'); 522 }); 523 524 $('body') 525 .on('click', '.plan_table_radio tbody tr', function () { 526 var $this = $(this), 527 price = $this.attr('data-cost').trim(), 528 period = $this.attr('data-period'), 529 disc = $this.attr('data-cost-full').trim(); 530 531 if ($('a').is('#submit_pay')) { 532 var submit_pay = $('#submit_pay'); 533 submit_pay.attr('data-period', period); 534 submit_pay.attr('data-cost', price); 535 submit_pay.attr( 536 'href', 537 '/pay/create_bill?plan=' + 538 submit_pay.attr('data-plan-id') + 539 '&period=' + 540 submit_pay.attr('data-period') + 541 '&promo_key=' + 542 submit_pay.attr('data-promo-key') 543 ); 544 } 545 546 $('input[name=period]').val(period); 547 $('.plan_price_total span').text(price); 548 549 if (price != disc) { 550 $('.plan_price_disc') 551 .css('display', 'inline-block') 552 .text(disc); 553 } else { 554 $('.plan_price_disc').hide(); 555 } 556 }) 557 .on('click', '#send_activation_mail', function (e) { 558 e.preventDefault(); 559 $.ajax({ 560 url: $(this).data('href'), 561 method: 'post', 562 dataType: 'JSON' 563 }).done(function (response) { 564 var type = response.status_code == 200 ? 'success' : 'error'; 565 doAlert(type, response.result); 566 }); 567 }) 568 // ÑÑÐ°Ð·Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÑ ÑÑÑÐ¾ÐºÑ ÑилÑÑÑа, пÑи оÑкÑÑÑии блока ÑилÑÑÑа 569 .on('click', '.filter_tool_trigger:not(.active)', function () { 570 if (!$.trim($('.filters').html()).length) { 571 $('.filter_add_and').click(); 572 } 573 }) 574 .on('click', '.ny_handler', function (e) { 575 window.location = '/pay/#.plan_personal'; 576 }) 577 .on('click', '.toggle_get_param', function () { 578 var href_parser = document.createElement('a'), 579 get_param = $(this).data('get_param'); 580 href_parser.href = location.href; 581 582 if (href_parser.search.indexOf(get_param) !== -1) { 583 var regex = new RegExp('&?' + get_param + '[^&]*', 'g'); 584 href_parser.search = href_parser.search.replace(regex, ''); 585 } else { 586 href_parser.search = href_parser.search += '&' + get_param + '=true'; 587 } 588 589 SerpstatMain.getPage(href_parser.href); 590 }) 591 .on('click', '.open_project_invite', function (e) { 592 e.preventDefault(); 593 var projectId = $(this).data('project_id'); 594 $('#dialog_project_invite_value').val(projectId); 595 $('#dialog_project_invite_value_multiuser').val(projectId); 596 $('#dialog_project_invite').myDialog(); 597 }) 598 .on('dropdown.afterSelect load', '#main_search_type_dropdown', function ( 599 e, 600 el 601 ) { 602 setProperMainSearchPlaceholder(); 603 }) 604 .on('click', '#dialog_profile_cry .profile_sorry_save', function (e) { 605 SerpstatMain.ajaxSubmit($('#email_notification_form')); 606 }) 607 .on('click', '.blog_rss_share', function () { 608 var lang = $(this).attr('data-lang'); 609 $.ajax({ 610 url: '/blog/RssShare', 611 method: 'post', 612 data: { 613 lang: lang 614 } 615 }); 616 }); 617 618 $('#content').on('after_ajax_load', function () { 619 setProperMainSearchPlaceholder(); 620 }); 621 622 // init proper placeholder 623 setProperMainSearchPlaceholder(); 624 function setProperMainSearchPlaceholder() { 625 var new_placeholder = $( 626 '#main_search_type_dropdown .select_option.active' 627 ).data('custom_placeholder'); 628 $('#search_product_input').attr('placeholder', new_placeholder); 629 } 630 631 $('body').on('click', '#finish_grouping_project_creation', function () { 632 $(this) 633 .closest('.dialog_container') 634 .find('form') 635 .submit(); 636 }); 637 638 $('body').on('click', '.checkboxes_ajax_submit', function () { 639 var that = $(this), 640 url = that.attr('href'), 641 ids = []; 642 643 $('.table_checkboxes tbody input.checkbox:checked').each(function () { 644 ids.push($(this).val()); 645 }); 646 647 $.ajax({ 648 url: url, 649 type: 'POST', 650 dataType: 'json', 651 data: { ids: ids }, 652 success: function (data) { 653 if (data.status_code == 200) { 654 doAlert('success', data.result); 655 } 656 } 657 }); 658 659 return false;
660 }); 661 662 $('body').on('te.saved', '.te_handler', function (event, ui) { 663 var newVal = ui.val; 664 var $this = $(this); 665 var projectId = $this.closest('.project_handler').attr('data-project_id'); 666 667 if (newVal) { 668 $.ajax({ 669 method: 'POST', 670 url: '/projects/change_project_name/' + projectId, 671 data: { 672 name: newVal 673 }, 674 dataType: 'json' 675 }).done(function (response) { 676 if (response && response.status_code == 400) { 677 doAlert('error', response.result); 678 } 679 }); 680 } 681 }); 682 683 $('body').on('click', '.dialog_grouping_limit_exceeded', function (e) { 684 groupingLimitExceededDialog(); 685 }); 686 687 $('body').on('click', '.wibinar_view', function (e) { 688 var webinarName = $(this).attr('data-webinar-name'); 689 $.ajax({ 690 url: '/site/webinarView', 691 type: 'POST', 692 data: { 693 webinarName: webinarName 694 } 695 }).done(function () { 696 console.log('ok'); 697 }); 698 }); 699}); 700 701function groupingLimitExceededDialog() { 702 $('#dialog_grouping_limit_exceeded').myDialog(); 703} 704 705function setCookie(cookieName, cookieExpiresDate) { 706 var site_domain = location.host 707 .split('.') 708 .slice(-2) 709 .join('.'); 710 site_domain = site_domain.replace(/:[0-9]*$/, ''); 711 712 $.cookie(cookieName, 1, { 713 path: '/', 714 domain: '.' + site_domain, 715 expires: cookieExpiresDate 716 }); 717} 718 719function addScoringEvent(event) { 720 var element = $(event.target); 721 722 SerpstatMain.scoreEvent(element.attr('data-scoring_event')); 723 element.removeAttr('data-scoring_event'); 724 element.removeAttr('data-event_trigger'); 725} 726 727(function () { 728 var $this = $('#dialog_project_invite'); 729 // глобалÑÐ½Ð°Ñ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ multiuserData.userEmails Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² Ñале dashboard.php 730 var items = (window.multiuserData && window.multiuserData.userEmails) || {}; 731 var isTeamOwner = 732 (window.multiuserData && window.multiuserData.isTeamOwner) || false; 733 var isEmptyItems = Object.keys(items).length <= 0; 734 var multiusers_select = $this.find('.multiusers_select'); 735 736 // Ðобовление option 737 !isEmptyItems && 738 Object.values(items).forEach(element => { 739 multiusers_select.append( 740 '<div class="select_option" data-val="' + 741 element + 742 '" data-placeholder="' + 743 element + 744 '">' + 745 element + 746 ' <span class="checkbox || checkbox_no_input"><svg class="icon"><use xlink:href="/img/svgdefs.svg#icon_check"></use></svg></span></div>' 747 ); 748 }); 749 750 $this.on('dialogOpen', function () { 751 if (!isTeamOwner) { 752 $this 753 .find('.tab_s_2') 754 .addClass('disabled') 755 .attr('disabled', true); 756 757 $this 758 .find('#tab_s_2') 759 .find('button[type=submit]') 760 .attr('disabled', true); 761 } 762 }); 763 $this.on('dialogClose', function () { 764 $('#invite_edit_project_message').val(''); 765 $this.find('.tab_s_2').removeClass('active'); 766 }); 767 $(document).on( 768 'click', 769 'a.next_button[data-id="#popular_news"], a.prev_button[data-id="#popular_news"]', 770 function (e) { 771 e.preventDefault(); 772 773 var link = $(this).attr('href'), 774 data = $(this).data(), 775 link_params = {}, 776 temp_var; 777 778 link 779 .substring(1) 780 .replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { 781 link_params[key] = value; 782 }); 783 784 for (var dataName in data) { 785 temp_var = dataName; 786 787 if (temp_var.indexOf('param_') !== -1) { 788 temp_var = temp_var.replace('param_', ''); 789 link_params[temp_var] = data[dataName]; 790 } 791 } 792 793 link = link.split('?')[0] + '?' + $.param(link_params); 794 795 SerpstatMain.getPage(link, '#popular_news', true, 'GET', true, true); 796 797 return false; 798 } 799 ); 800})(); 801 802function exportMultiDomainsHandler() { 803 $.ajaxPrefilter(function (options, originalOptions, jqXHR) { 804 var isExportUrlAnalytics = 805 options.url.indexOf('export-file/analytics') > -1; 806 if (isExportUrlAnalytics) { 807 var baseUrl = new URL(window.location); 808 var UrlClass = new URL(options.url, baseUrl); 809 810 var exportFields = UrlClass.searchParams.get('pdf_export_fields'); 811 if (isMultiDomain(UrlClass.searchParams)) { 812 var domainsCount = getExportDomainCount(UrlClass.searchParams); 813 814 var exportFieldsParams = {}; 815 var exportFieldsArray = exportFields.split(','); 816 exportFieldsArray.forEach(item => { 817 exportFieldsParams[item] = item; 818 }); 819 var checkedFields = [ 820 'domain', 821 'subdomain', 822 'url', 823 'position', 824 'dynamic' 825 ]; 826 var selectedCheckedFields = []; 827 checkedFields.forEach(item => { 828 if (exportFieldsParams[item] !== undefined) { 829 selectedCheckedFields.push(item); 830 } 831 }); 832 833 checkedFields.forEach(item => { 834 if (exportFieldsParams[item] === item) { 835 delete exportFieldsParams[item]; 836 } 837 }); 838 839 for (var i = 1; i <= domainsCount; i++) { 840 selectedCheckedFields.forEach(item => { 841 exportFieldsParams[item + '' + i] = item + i; 842 }); 843 } 844 845 var data = []; 846 for (var j in exportFieldsParams) { 847 if (!exportFieldsParams[j]) { 848 continue; 849 } 850 data.push(j); 851 } 852 853 var newParams = data.join(','); 854 UrlClass.searchParams.set('pdf_export_fields', newParams); 855 options.url = 856 options.url.split('?')[0] + '?' + UrlClass.searchParams.toString(); 857 } 858 } 859 }); 860} 861 862function getExportDomainCount(searchParams) { 863 if (searchParams.has('domain2')) { 864 var domainsCount = 2; 865 if (searchParams.has('domain3')) { 866 domainsCount++; 867 } 868 } else { 869 var domains = searchParams.get('domains'); 870 var domainList = domains.split(','); 871 var domainsCount = 0; 872 domainList.forEach(item => { 873 if (item !== '') { 874 domainsCount++; 875 } 876 }); 877 } 878 return domainsCount; 879} 880 881function isMultiDomain(searchParams) { 882 return searchParams.has('domain2') || searchParams.get('domains') !== null; 883} 884 885function debounce(func, wait, immediate) { 886 var timeout; 887 return function () { 888 var context = this, 889 args = arguments; 890 var later = function () { 891 timeout = null;
892 if (!immediate) func.apply(context, args); 893 }; 894 var callNow = immediate && !timeout; 895 clearTimeout(timeout); 896 timeout = setTimeout(later, wait); 897 if (callNow) func.apply(context, args); 898 }; 899} 900 901$(document).ajaxSend(function (event, jqxhr, settings) { 902 if (settings.url == "/blog/subscribe/") { 903 var params = new URLSearchParams(settings.data), 904 tags = params.get('tags') || [], 905 email = params.get('email'), 906 accepted = params.get('accepted') || '', 907 gdprConfirm = params.get('gdprConfirm') || ''; 908 if (tags.length) { 909 tags = tags.split(','); 910 } 911 var map = { 912 'ÐонÑенÑ-маÑкеÑинг': 'Content_Marketing', 913 'ÐонÑÐµÐ½Ñ Ð¼Ð°ÑкеÑинг': 'Content_Marketing', 914 'Content-Marketing': 'Content_Marketing', 915 'Content Marketing': 'Content_Marketing', 916 'Analytik': 'Analytics', 917 'Analytiks': 'Analytics', 918 'ÐналиÑика': 'Analytics', 919 'Analytics': 'Analytics', 920 'Howto': 'How_to', 921 'How-to': 'How_to', 922 'How to': 'How_to', 923 'How_to': 'How_to', 924 'Howto-Artikel': 'How_to', 925 'News': 'News', 926 'ÐовоÑÑи': 'News', 927 'Nachrichten': 'News', 928 'ÐаÑкеÑинг': 'Marketing', 929 'Marketing': 'Marketing', 930 'PPC': 'PPC', 931 'ÐейÑÑ': 'Cases', 932 'Cases': 'Cases' 933 }; 934 tags = tags.map(function (x) { 935 x = x.trim(); 936 x = map[x] || x; 937 x = x.split(' ').join('_'); 938 return x; 939 }); 940 tags = tags.filter(function (x) { 941 return x && x.length && x.length > 0; 942 }); 943 944 if (tags) { 945 settings.data = 'email=' + email + '&tags=' + tags.join(','); 946 } 947 if (accepted != '' && gdprConfirm) { 948 settings.data = settings.data + '&accepted=' + accepted + '&gdprConfirm=' + gdprConfirm; 949 } 950 } 951}); 952 953 954function transferInternalApiCookieToLocalStorage() { 955 const token = $.cookie('internal-api-user-token'); 956 if (token) { 957 localStorage.setItem('internal-api-user-token', token); 958 document.cookie = 'internal-api-user-token=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Max-Age=0'; 959 } 960} 961(transferInternalApiCookieToLocalStorage()); 962
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.