1/*Detect mobile*/ 2var isMobile = false, //initiate as false 3 mainHeader = $('#mainHeader'), 4 mainLogo = $('#mainHeader #logo'), 5 mainCnt = $('#mainCnt'), 6 topNav = $('#mainHeader #topNav'), 7 scrolling = false, 8 previousTop = 0, 9 currentTop = 0, 10 scrollDelta = 10, 11 scrollOffset = 150, 12 homeMastheadH = 0, 13 scrollOneFold = $(window).height() / 2, 14 btnMenu = $('#btnMenu'), 15 btnVideos = $('#btnVideos'), 16 btnSearch = $('#btnSearch'), 17 menuDrawer = $('#menuDrawer'), 18 searchDrawer = $('#searchDrawer'), 19 mainHeader = $('#mainHeader'), 20 videoBanner = $('.postsModule.video_banner'), 21 siteWrapper = $('#siteWrapper'), 22 videoDrawer = $('#videoDrawer'), 23 videoCover = $('#homeMastheadCover .cover'), 24 videoBg = $('#homeMastheadCover video'), 25 btnCloseMobileVideoDrawer = $('#btnCloseMobileVideoDrawer'), 26 homeHalfLogoWrapper = $('#homeHalfLogoWrapper'), 27 recommendedModule = $('#recommendedModule'), 28 btnRecommended = $('#btnRecommended'), 29 btnCloseRecommendedModule = $('.btnCloseRecommendedModule'), 30 btnCloseSearchDrawer = $('#btnCloseSearchDrawer'), 31 btnMobileSearch = $('#btnMobileSearch'), 32 btnFollow = $('#btnFollow'), 33 footer = $('#footer'), 34 socialNav = $('#socialNav'), 35 stickyAd = $('.stickyAd'), 36 sticky = $('.sticky'), 37 firstPost =$('.post-container').eq(0), 38 currentPost = firstPost, 39 currentTitle = currentPost.find('.titleModule h1').html(), 40 progressBarTitle = $('#articleProgressBar .title'), 41 postID= firstPost.data('post_id'), 42 top_AD = document.body.firstElementChild, 43 isHomePage = $('.homePage').length == 0 ? false : true, 44 isCatPage = $('.catPage').length == 0 ? false : true, 45 isTagPage = $('.tagPage').length == 0 ? false : true; 46 isSearchPage = $('.searchPage').length == 0 ? false : true; 47 isAuthorPage = $('.authorPage').length == 0 ? false : true; 48 isNormalPage = $('.normalPage').length == 0 ? false : true; 49 progressBarTitle.text(currentTitle); 50// device detection 51if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) 52 || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.
52substr(0,4))) { 53 isMobile = true; 54} 55 56(function($) { 57 setStickyFooter(); 58 checkTopAd_mobile(); 59 if (videoBg.length) { 60 videoBg[0].play(); 61 } 62 63 $(window).on('resize', function(){ 64 setStickyFooter(); 65 }); 66 67 var progressBar = $(".progress"), 68 posts = [], 69 _postProgress = 0, 70 _scrollOffsetTop = 0, 71 _currPage = 0, 72 _currPost = 0; 73 74 var progressHandler = function(){ 75 if(!scrolling) { 76 scrolling = true; 77 (!window.requestAnimationFrame) ? autoHideHeader : requestAnimationFrame(autoHideHeader); 78 } 79 var headerHeight = mainHeader.lenght > 0 ? mainHeader[0].clientHeight : 0; 80 var scrollOffsetTop = $(window).scrollTop() + ($(window).innerHeight() - headerHeight); 81 var currPost, currPage, postProgress = 0; 82 $('.post-container').each(function(){ 83 var id = $(this).attr('data-post_id'); 84 if (!id) { 85 return; 86 } 87 var postExist = false; 88 for (var i = 0; i < posts.length; i++) { 89 if (posts[i].id === id) { 90 postExist = true; 91 break; 92 } 93 } 94 if (postExist) { 95 return; 96 } 97 var post = { 98 id: id, 99 elem: this, 100 pages: [] 101 }; 102 $(this).find('._page_').each(function(index, value){ 103 var page = { 104 elem: this, 105 }; 106 if (this.innerHTML.trim() !== '') { 107 post.pages.push(page); 108 } 109 }); 110 posts.push(post); 111 }); 112 for (var i = 0; i < posts.length; i++) { 113 var postTop = $(posts[i].elem).offset().top; 114 var postHeight = $(posts[i].elem).height(); 115 if (scrollOffsetTop > postTop && scrollOffsetTop <= postTop + postHeight) { 116 currPost = posts[i]; 117 } 118 } 119 if (currPost) { 120 var pages = currPost.pages; 121 var currPage = 0; 122 for (var i = pages.length - 1; i >= 0; i--) { 123 pages[i].height = $(pages[i].elem).height(); 124 pages[i].top = $(pages[i].elem).offset().top; 125 } 126 for (var i = 0; i < pages.length; i++) { 127 if (pages[i-1] && pages[i].top < pages[i-1].top + pages[i-1].height) { 128 break; 129 } 130 if (scrollOffsetTop > pages[i].top) { 131 currPage = i; 132 } 133 } 134 if (currPost === _currPost && scrollOffsetTop > _scrollOffsetTop && currPage < _currPage) { 135 currPage = _currPage; 136 } 137 // console.log(currPage, scrollOffsetTop, pages.map(page => `${page.top}:${page.height}`)) 138 if (scrollOffsetTop < pages[0].top) { 139 progressBar.width(0); 140 } else if (scrollOffsetTop >= pages[0].top) { 141 var pageProgress = (scrollOffsetTop - pages[currPage].top) / pages[currPage].height * 100; 142 pageProgress = (pages[currPage].height === 0 || pageProgress > 100) ? 100 / pages.length : pageProgress / pages.length; 143 var postProgress = 100 / pages.length * currPage + pageProgress; 144 postProgress = postProgress > 100 ? 100 : postProgress; 145 postProgress = postProgress < 0 ? 0 : postProgress; 146 if (scrollOffsetTop > _scrollOffsetTop && postProgress > _postProgress) { 147 progressBar.width(postProgress + '%'); 148 } 149 } 150 _scrollOffsetTop = scrollOffsetTop; 151 _postProgress = postProgress; 152 _currPage = currPage; 153 _currPost = currPost; 154 } 155 } 156 157 $(window).on('scroll', function(){ 158 progressHandler(); 159 }); 160 161 // var scrollDirection = new Array(); 162 // var scrollIndex = 0; 163 // scrollDirection[0] = 0; 164 // var postScrollBar = 0; 165 // var postTempID = postID; 166 // var postDirection =''; 167 168 // $(window).on('scroll', function(){ 169 // scrollIndex ++; 170 // scrollDirection[scrollIndex] = $(document).scrollTop(); 171 // if (scrollDirection[scrollIndex] > scrollDirection[scrollIndex-1]) { 172 // postDirection='down' 173 // }else{ 174 // postDirection='up'; 175 // }; 176 // if(!scrolling) { 177 // scrolling = true; 178 // (!window.requestAnimationFrame) 179 // ? setTimeout(autoHideHeader, 250) 180 // : requestAnimationFrame(autoHideHeader); 181 // } 182 // if(postID){ 183 // //console.log(postID); 184 // var windowTop = $(window).scrollTop(); 185 // var scrollTop = $(this).scrollTop(); 186 // var articleHeight = $('.articleCols').height(); 187 // var postHeight = $('#post-'+postID).height(); 188 // var postScrollTop = $('#post-'+postID).offset().top; 189 // var postTop = windowTop - postScrollTop; 190 // var windowHeight = $(window).height(); 191 // // var totalScroll = (windowTop/articleHeight)*100; 192 // var totalScroll = (postTop/postHeight)*100; 193 // // console.log('postHeight:'+ postHeight);
194 // // console.log('windowTop:'+ windowTop); 195 // // console.log('totalScroll:'+totalScroll); 196 // if(totalScroll<postScrollBar && postTempID===postID && postDirection==='down') return; 197 // postTempID=postID; 198 // if(totalScroll > 100){ 199 // totalScroll = 100; 200 // var nextPost = currentPost.next('.post-container'); 201 // currentPost = nextPost.length>0?nextPost:currentPost; 202 // postID = currentPost.data('post_id'); 203 // currentTitle = currentPost.find('.titleModule h2').html(); 204 // progressBarTitle.text(currentTitle); 205 // //console.log('next:'+postID); 206 // }else if ( totalScroll < 0){ 207 // var prevPost = currentPost.prev('.post-container'); 208 // currentPost = prevPost.length>0?prevPost:currentPost; 209 // postID = currentPost.data('post_id'); 210 // currentTitle = currentPost.find('.titleModule h2').html(); 211 // progressBarTitle.text(currentTitle); 212 // //console.log('prev:'+postID); 213 // } 214 // $(".progress").css("width",totalScroll+"%"); 215 // postScrollBar=totalScroll; 216 // // console.log(postTop); 217 // //console.log(totalScroll+"%"); 218 // } 219 // }); 220 221 function autoHideHeader() { 222 var currentTop = $(window).scrollTop(); 223 var documentH = $(document).height(); 224 var windowH = $(window).height(); 225 var footerH = footer.height(); 226 var homeMastheadH = $('#homeMastheadCover').innerHeight() + $('#homeMastheadQuote').innerHeight(); 227 checkSimpleNavigation(currentTop); 228 checkStartedScrolling(currentTop); 229 showRecommendedArticles(currentTop, documentH, windowH, footerH); 230 if(homeMastheadH !== 0){ 231 checkHomeMasthead(currentTop, homeMastheadH); 232 }else{ 233 videoBanner.addClass('fixed_banner'); 234 } 235 previousTop = currentTop; 236 scrolling = false; 237 } 238 239 function checkTopAd_mobile(){ 240 if (!isMobile || top_AD.id.indexOf("div-gpt-ad") < 0 ){ 241 return; 242 } 243 top_AD.style.visibility='hidden'; 244 top_AD.style.width='100%'; 245 top_AD.classList.remove('fadeOut','animated'); 246 top_AD.classList.add('fadeInDown','animated'); 247 var iframeAd = top_AD.getElementsByTagName('iframe')[0]; 248 // console.log('iframeAd:',iframeAd); 249 if(typeof iframeAd !== "undefined"){ 250 var iframeDoc = iframeAd.contentDocument || iframeAd.contentWindow.document; 251 252 // console.log('iframeDoc:',iframeDoc.readyState); 253 // console.log("I am loading"); 254 255 if (iframeDoc.readyState == 'complete'){ 256 // iframeAd.contentWindow.onload = function(){ 257 //console.log("I am loaded"); 258 top_AD.style.cssText='visibility:visible;z-index:9;width:100%;background:#efeaea;position:fixed;top:0;hight:'+iframeDoc.body.clientHeight+'px;'; 259 iframeAd.height = iframeDoc.body.clientHeight+"px"; 260 iframeAd.style.height = iframeDoc.body.clientHeight+"px"; 261 btnMenu.addClass('top_sp'); 262 btnSearch.addClass('top_sp'); 263 btnVideos.addClass('top_sp'); 264 mainHeader.addClass('top_sp'); 265 266 btnMenu.css({"margin-top":iframeDoc.body.clientHeight+"px"}); 267 btnSearch.css({"margin-top":iframeDoc.body.clientHeight+"px"}); 268 btnVideos.css({"margin-top":iframeDoc.body.clientHeight+"px"}); 269 mainHeader.css({"margin-top":iframeDoc.body.clientHeight+"px"}); 270 siteWrapper.css("margin-top",iframeDoc.body.clientHeight+"px"); 271 // }; 272 return; 273 274 } 275 } 276 //console.log("setTimeout",typeof iframeAd); 277 // window.setTimeout(checkTopAd_mobile,100); 278 // if(top_AD.querySelector('iframe')){ 279 // btnMenu.addClass('top_sp'); 280 // btnSearch.addClass('top_sp'); 281 // btnVideos.addClass('top_sp'); 282 // mainHeader.addClass('top_sp'); 283 284 // btnMenu.css("margin-top",top_AD.clientHeight+"px"); 285 // btnSearch.css("margin-top",top_AD.clientHeight+"px"); 286 // btnVideos.css("margin-top",top_AD.clientHeight+"px"); 287 // mainHeader.css("margin-top",top_AD.clientHeight+"px"); 288 // } 289 } 290 291 292 function checkSimpleNavigation(currentTop) { 293 if (isMobile && top_AD.id.indexOf("div-gpt-ad") == 0 ){ 294 if ( top_AD.offsetHeight > scrollOffset) 295 scrollOffset = top_AD.offsetHeight; 296 } 297 // console.log('scrollOffset:',scrollOffset); 298 if (previousTop - currentTop > scrollDelta) { 299 //if scrolling up... 300 if(!isHomePage && !isCatPage && !isTagPage && !isSearchPage && !isAuthorPage && !isNormalPage){ 301 mainHeader.removeClass('collapsed'); 302 } 303 mainLogo.removeClass('sticky'); 304 topNav.removeClass('hidden'); 305 //console.log('scrollOffset_up:',scrollOffset);console.log('currentTop_up:',currentTop); 306 // if(scrollOffset>currentTop){checkTopAd_mobile();} 307 if(scrollOffset>currentTop && isMobile && top_AD.innerHTML!=""){checkTopAd_mobile();} 308 } else if( currentTop - previousTop > scrollDelta && currentTop > scrollOffset) { 309 //if scrolling down... 310 //top_AD.id.indexOf("div-gpt-ad") == 0?top_AD.classList.add('fadeOut','animated'):console.log("No topAD"); 311 if(top_AD.id.indexOf("div-gpt-ad") == 0){top_AD.classList.add('fadeOut','animated');} 312 //console.log('scrollOffset_down:',scrollOffset);console.log('currentTop_down:',currentTop); 313 mainHeader.addClass('collapsed'); 314 if(!isHomePage && !isCatPage && !isTagPage && !isSearchPage && !isAuthorPage && !isNormalPage){ 315 mainLogo.addClass('sticky'); 316 topNav.addClass('hidden'); 317 } 318 btnMenu.removeClass('top_sp') 319 btnMenu.removeAttr('style');
320 btnSearch.removeClass('top_sp'); 321 btnSearch.removeAttr('style'); 322 btnVideos.removeClass('top_sp'); 323 btnVideos.removeAttr('style'); 324 mainHeader.removeClass('top_sp'); 325 mainHeader.removeAttr('style'); 326 } 327 } 328 329 function checkHomeMasthead(currentTop, homeMastheadH){ 330 if(homeMastheadH > currentTop){ 331 mainHeader.addClass('homeHiddenAtStart'); 332 videoBanner.removeClass('fixed_banner'); 333 // console.log('homeMastheadH',homeMastheadH); 334 $('.homeHiddenAtStart').css('display','block'); 335 $('.homeHiddenAtStart').css('top',homeMastheadH+'px'); 336 // $('.homeHiddenAtStart').position().top = homeMastheadH; 337 videoCover.show(); 338 // if (videoBg[0].paused) videoBg[0].play(); 339 }else{ 340 videoBanner.addClass('fixed_banner'); 341 mainHeader.removeClass('homeHiddenAtStart'); 342 mainHeader.removeAttr('style'); 343 videoCover.hide(); 344 // if (!videoBg[0].paused) videoBg[0].pause(); 345 //console.log('homeMastheadH:' + homeMastheadH + 'currentTop:' + currentTop); 346 } 347 } 348 349 function checkStartedScrolling(currentTop){ 350 var topHeaderScroll = 200; 351 352 if(currentTop > topHeaderScroll){ 353 mainHeader.addClass('startedScrolling'); 354 }else{ 355 mainHeader.removeClass('startedScrolling'); 356 } 357 } 358 359 function showRecommendedArticles(currentTop, documentH, windowH, footerH){ 360 if(currentTop > (documentH/2)){ 361 if(!recommendedModule.hasClass('locked')){ 362 if(!recommendedModule.hasClass('autoOff')){ 363 recommendedModule.addClass('isShown'); 364 setTimeout(function(){ 365 btnRecommended.addClass('isShown'); 366 recommendedModule.removeClass('isShown'); 367 recommendedModule.addClass('locked'); 368 },6000); 369 } 370 btnRecommended.removeClass('isShown'); 371 } 372 //}else if(currentTop < windowH || currentTop > (documentH - 1200 - footerH)){ 373 }else if(currentTop < windowH){ 374 btnRecommended.removeClass('isShown'); 375 }else{ 376 if(!recommendedModule.hasClass('isShown')){ 377 btnRecommended.addClass('isShown'); 378 } 379 } 380 // console.log('currenttop: ' + currentTop); 381 // console.log('documentH :' + documentH); 382 // console.log('offsetH :' + (documentH - 1200 - footerH)); 383 } 384 385 stickyAd.stickybits({ 386 useStickyClasses: true, 387 stickyBitStickyOffset: 91 388 }); 389 390 sticky.stickybits({ 391 useStickyClasses: true, 392 stickyBitStickyOffset: 150 393 }); 394 395 btnMenu.click(function(){ 396 if($(this).hasClass('opened')){ 397 closeMenuDrawer(); 398 }else{ 399 $(this).addClass('opened'); 400 $('#menuDrawer').addClass('opened'); 401 $('body').addClass('overflowHidden'); 402 add_themes_ga4_tracking('menu_expand_click',{}); 403 } 404 }); 405 406 menuDrawer.perfectScrollbar({ 407 wheelPropagation: false, 408 scrollYMarginOffset: 20, 409 suppressScrollX: true 410 }); 411 412 menuDrawer.on('click', function(event){ 413 if ( 414 $(this).find('.wrapper').has(event.target).length == 0 415 && 416 !$(this).find('.wrapper').is(event.target) 417 ){ 418 closeMenuDrawer(); 419 } 420 }); 421 422 function closeMenuDrawer(){ 423 btnMenu.removeClass('opened'); 424 $('#menuDrawer').removeClass('opened'); 425 $('body').removeClass('overflowHidden'); 426 } 427 428 btnSearch.click(function(){ 429 openSearchDrawer(); 430 add_themes_ga4_tracking('search_expand_click',{}); 431 }); 432 433 btnMobileSearch.click(function(){ 434 openSearchDrawer(); 435 add_themes_ga4_tracking('search_expand_click',{}); 436 }); 437 438 btnCloseSearchDrawer.click(function(){ 439 closeSearchDrawer(); 440 }); 441 442 searchDrawer.on('click', function(event){ 443 if ( 444 $(this).find('.wrapper').has(event.target).length == 0 //checks if descendants of #searchDrawer > .wrapper was clicked 445 && 446 !$(this).find('.wrapper').is(event.target) //checks if the #searchDrawer > .wrapper itself was clicked 447 ){ 448 //console.log("testclose"); 449 //closeSearchDrawer(); 450 } 451 }); 452 453 function openSearchDrawer(){ 454 searchDrawer.addClass('opened'); 455 $('body').addClass('overflowHidden'); 456 } 457 458 function closeSearchDrawer(){ 459 searchDrawer.removeClass('opened'); 460 $('body').removeClass('overflowHidden'); 461 } 462 463 btnVideos.click(function(){ 464 $(this).addClass('videoDrawerOpened'); 465 openVideoDrawer(); 466 }); 467 468 siteWrapper.click(function(){ 469 closeVideoDrawer(); 470 }); 471 472 btnCloseMobileVideoDrawer.click(function(){ 473 closeVideoDrawer(); 474 }); 475 476 videoDrawer.perfectScrollbar({ 477 wheelPropagation: false, 478 scrollYMarginOffset: 20, 479 suppressScrollX: true 480 }); 481 482 function openVideoDrawer(){ 483 btnMenu.addClass('videoDrawerOpened'); 484 btnSearch.addClass('videoDrawerOpened'); 485 siteWrapper.addClass('videoDrawerOpened'); 486 mainHeader.addClass('videoDrawerOpened'); 487 videoDrawer.addClass('opened'); 488 homeHalfLogoWrapper.fadeOut(); 489 recommendedModule.addClass('videoDrawerOpened'); 490 $('body').addClass('overflowHidden'); 491 } 492 493 function closeVideoDrawer(){ 494 btnVideos.removeClass('videoDrawerOpened'); 495 btnMenu.removeClass('videoDrawerOpened'); 496 btnSearch.removeClass('videoDrawerOpened'); 497 siteWrapper.removeClass('videoDrawerOpened'); 498 mainHeader.removeClass('videoDrawerOpened'); 499 videoDrawer.removeClass('opened'); 500 homeHalfLogoWrapper.fadeIn(); 501 recommendedModule.removeClass('videoDrawerOpened'); 502 $('body').removeClass('overflowHidden'); 503 } 504 505 function setStickyFooter(){ 506 var documentH = $(document).height(); 507 var windowH = $(window).height(); 508 if (documentH > windowH) { 509 $('#footer').removeClass('fixed'); 510 }else{ 511 $('#footer').addClass('fixed'); 512 } 513 } 514 515 btnRecommended.click(function(){ 516 if($(this).hasClass('isHidden')){ 517 $(this).addClass('isShown'); 518 recommendedModule.removeClass('isShown'); 519 }else{ 520 $(this).removeClass('isShown'); 521 recommendedModule.addClass('isShown'); 522 setTimeout(function(){ 523 btnRecommended.addClass('isShown'); 524 recommendedModule.removeClass('isShown'); 525 recommendedModule.addClass('locked'); 526 },6000); 527 } 528 }); 529 530 btnCloseRecommendedModule.click(function(){ 531 btnRecommended.addClass('isShown'); 532 recommendedModule.removeClass('isShown'); 533 recommendedModule.addClass('locked'); 534 }); 535 536 btnFollow.click(function(e){ 537 e.preventDefault(); 538 if($(this).hasClass('opened')){ 539 socialNav.slideUp(); 540 mainHeader.removeClass('socialNavOpened'); 541 mainCnt.removeClass('socialNavOpened'); 542 $(this).removeClass('opened'); 543 }else{ 544 socialNav.slideDown(); 545 mainHeader.addClass('socialNavOpened'); 546 if(mainCnt.hasClass('topGap')){ 547 mainCnt.addClass('socialNavOpened'); 548 } 549 $(this).addClass('opened'); 550 } 551 }); 552 553 /*Page scrolls up when keyboard is invoked on mobile devices*/ 554 555 let initialOffset = $('body').scrollTop(); 556 557 $('input').focus(function(e) { 558 //console.log('focus'); 559 if(isMobile){ 560 let offset = $(e.target).offset(); 561 initialOffset = $('body').scrollTop(); 562 $('html, body').scrollTop(offset.top-100); 563 } 564 }); 565 $('input').blur(function(e) { 566 //console.log('blur'); 567 if(isMobile){ 568 $('body').scrollTop(initialOffset); 569 } 570 }); 571 572 $('[data-fancybox]').fancybox({ 573 protect: true, 574 loop: true, 575 afterShow: function(previous, current) { 576 if(previous.prevIndex!=current.index){ 577 //console.log(previous.group.length,previous.prevIndex,current.index); 578 //console.log('next&prev click'); 579 add_theme_ga_tracking('æç« ', 'GalleryImageClickNext', '', '', 0); 580 add_themes_ga4_tracking('article_gallery_nav_click',{'item_type':'next_image_button'}); 581 } 582 }, 583 afterClose:function () { 584 //console.log("close"); 585 add_theme_ga_tracking('æç« ', 'GalleryImageClickClose', '', '', 0); 586 add_themes_ga4_tracking('article_gallery_nav_click',{'item_type':'close_image_button'}); 587 }, 588 buttons:[ 589 "thumbs", 590 "close" 591 ] 592 }); 593 594 /*Slick - Recommended readings*/ 595 $('.slideRecommendedReadingsMobile').slick({ 596 slidesToShow: 1, 597 infinite: true, 598 slidesToScroll: 1, 599 arrows:false, 600 dots: true, 601 autoplay: true, 602 autoplaySpeed: 3800, 603 adaptiveHeight: true, 604 pauseOnHover: true, 605 variableWidth: false 606 }); 607 608 /*Slick - */ 609 $('.shopThePostModuleItems').slick({ 610 slidesToShow: 2, 611 lazyLoad: 'ondemand', 612 infinite: true, 613 slidesToScroll: 2, 614 arrows:true, 615 dots: true, 616 autoplay: true, 617 autoplaySpeed: 3800, 618 adaptiveHeight: true, 619 pauseOnHover: true, 620 variableWidth: false 621 }); 622 623})(jQuery); 624 625 626function add_ga_checking(category,action,label,postUrl,id){ 627 628 var ua = navigator.userAgent; 629 var is_mobile = ua.match(/mobile/i); 630 631 if(is_mobile===null){
632 label=label+"_Desktop"; 633 }else{ 634 label=label+"_Mobile"; 635 } 636 637 console.log(action); 638 639 var event = action; 640 641 if (typeof(gtag) != 'undefined') { 642 gtag('event', action, { 643 'event_category': category, 644 'event_label': label, 645 'value': id 646 }); 647 window.location.href = postUrl; 648 return; 649 } 650 651 if (typeof(_gaq) != 'undefined') { 652 _gaq.push(['_trackEvent', category, action, label, id]); 653 window.location.href = postUrl; 654 return; 655 } 656 if (typeof(__gaTracker) != 'undefined') { 657 __gaTracker('send','event', category, action, label, id); 658 window.location.href = postUrl; 659 return; 660 } 661 662 // if(typeof(dataLayer) != 'undefined'){ 663 // dataLayer.push({ 664 // 'category': category, 665 // 'action': action, 666 // 'label': label, 667 // 'event': event 668 // }); 669 670 // } 671 672 if(typeof(_gaq) == 'undefined' && typeof(__gaTracker) == 'undefined' && typeof(gtag) == 'undefined'){ 673 window.location.href = postUrl; 674 return; 675 } 676 677} 678 679 680function ShareBar(url,type,Title,location,message){ 681 var link, utm,Title; 682 //Title = decodeURIComponent(Title); 683 684 if(url=='' ){ 685 if(post_id!=0){ 686 url = jQuery("#share-post-"+post_id).attr('data-url'); 687 }else{ 688 url = document.URL; 689 } 690 } 691 692 if(Title=='' ){ 693 694 if(post_id!=0){ 695 Title = jQuery("#share-post-"+post_id).attr('data-title'); 696 }else{ 697 Title = document.title; 698 } 699 } 700 701 //https://www.edigest.hk/?p=202500&utm_campaign={BU}_Sharing&utm_medium=Message_{bu}&utm_source=WhatsAppï¼Line/Telegram/Wechatâ¦â¦ï¼ 702 var utm = '&utm_campaign=MF_Sharing&utm_medium=Message_MF&utm_source='; 703 if(type == 'url'){ 704 //utm = '&utm_campaign=Sharing&utm_medium=cpoy_url&utm_source=cpoy_url'; 705 utm += 'Copy_link'; 706 link = url+utm; 707 copyUrl(link); 708 } 709 710 if(type == 'FaceBook'){ 711 //utm = '&utm_campaign=Sharing&utm_medium=Facebook_Post&utm_source=Facebook'; 712 utm += 'Facebook'; 713 link = 'http://www.facebook.com/sharer.php?u='+ encodeURIComponent(url+utm); 714 if(typeof message !== "undefined" && message != ''){ 715 link = link + ' %0A'+message; 716 } 717 }else if(type == 'GooglePlus'){ 718 //utm = '&utm_campaign=Sharing&utm_medium=Google_Post&utm_source=Google'; 719 utm += 'Google'; 720 link = 'https://plus.google.com/share?url='+ encodeURIComponent(url+utm); 721 if(typeof message !== "undefined" && message != ''){ 722 link = link + ' %0A'+message; 723 } 724 }else if(type == 'Twitter'){ 725 //utm = '&utm_campaign=Sharing&utm_medium=Twitter_Post&utm_source=Twitter'; 726 utm += 'Twitter'; 727 link = 'https://twitter.com/home/?status='+Title+ ' %0A'+ encodeURIComponent(url+utm) ; 728 if(typeof message !== "undefined" && message != ''){ 729 link = link + ' %0A'+message; 730 } 731 }else if(type == 'Whatsapp'){ 732 //utm = '&utm_campaign=Sharing&utm_medium=Whatsapp_Msg&utm_source=Whatsapp'; 733 utm += 'Whatsapp'; 734 link = 'https://api.whatsapp.com/send?phone=&text='+Title+ ' %0A'+ encodeURIComponent(url+utm); 735 if(typeof message !== "undefined" && message != ''){ 736 link = link + ' %0A'+message; 737 } 738 }else if(type == 'telegram'){ 739 //utm = '&utm_campaign=Sharing&utm_medium=telegram_Msg&utm_source=telegram'; 740 utm += 'Telegram'; 741 link = 'https://telegram.me/share/url?url='+Title+ ' %0A'+ encodeURIComponent(url+utm); 742 if(typeof message !== "undefined" && message != ''){ 743 link = link + ' %0A'+message; 744 } 745 }else if(type == 'messenger'){ 746 //utm = '&utm_campaign=Sharing&utm_medium=messenger_Msg&utm_source=messenger'; 747 utm += 'Messenger'; 748 link = 'https://www.facebook.com/dialog/send?app_id=5303202981&display=popup&link='+ encodeURIComponent(url+utm)+'&redirect_uri=https://static.addtoany.com/menu/thanks.html#url='+encodeURIComponent(url); 749 if(typeof message !== "undefined" && message != ''){ 750 link = link + ' %0A'+message; 751 } 752 }else if(type == 'line'){ 753 //utm = '&utm_campaign=Sharing&utm_medium=line_Msg&utm_source=line'; 754 utm += 'Line'; 755 link = 'https://timeline.line.me/social-plugin/share?url='+ encodeURIComponent(url+utm); 756 if(typeof message !== "undefined" && message != ''){ 757 link = link + ' %0A'+message; 758 } 759 }else if(type == 'linkedin'){ 760 //utm = '&utm_campaign=Sharing&utm_medium=linkedin_Msg&utm_source=linkedin'; 761 utm += 'Linkedin'; 762 //link = 'https://www.linkedin.com/sharing/share-offsite/?url='+ encodeURIComponent(url+utm); 763 //link = 'https://www.linkedin.com/shareArticle?mini=true&url='+ encodeURIComponent(url+utm); 764 link = 'https://www.addtoany.com/add_to/linkedin?linkurl='+ encodeURIComponent(url+utm); 765 if(typeof message !== "undefined" && message != ''){ 766 link = link + ' %0A'+message; 767 } 768 console.log(link); 769 }else if(type == 'wechat'){ 770 //utm = '&utm_campaign=Sharing&utm_medium=wechat_Msg&utm_source=wechat'; 771 utm += 'Wechat'; 772 link = 'https://api.addthis.com/oexchange/0.8/forward/wechat/offer?url='+ encodeURIComponent(url+utm); 773 if(typeof message !== "undefined" && message != ''){ 774 link = link + ' %0A'+message; 775 } 776 }else if(type == 'mail'){ 777 //utm = '&utm_campaign=Sharing&utm_medium=mail_Msg&utm_source=mail'; 778 utm += 'Mail'; 779 link = 'mailto:?subject='+' '+'&body='+ encodeURIComponent(url+utm)+ ' '; 780 if(typeof message !== "undefined" && message != ''){ 781 link = link + ' %0A'+message; 782 } 783 } 784 785 var postUrl = link 786 //console.log(postUrl); 787 788 var ua = navigator.userAgent; 789 var is_mobile = ua.match(/mobile/i); 790 var label = ''; 791 if(is_mobile===null){ 792 label="Desktop_"+location+'_'+type; 793 }else{ 794 label="Mobile_"+location+'_'+type; 795 } 796 if (typeof _gaq != 'undefined') {
797 _gaq.push(['_trackEvent', 'æç« ', 'Menu_ShareButtonClick', label]); 798 if(type == 'url'){ 799 return; 800 } 801 NMGShareBar.openPopup(postUrl); 802 return; 803 } 804 if (typeof __gaTracker != 'undefined') { 805 __gaTracker('send', 'event','æç« ','Menu_ShareButtonClick',label); 806 if(type == 'url'){ 807 return; 808 } 809 NMGShareBar.openPopup(postUrl); 810 return; 811 } 812 813 if (typeof(gtag) != 'undefined') { 814 gtag('event', 'Menu_ShareButtonClick', { 815 'event_category': 'æç« ', 816 'event_label': label 817 }); 818 if(type == 'url'){ 819 return; 820 } 821 NMGShareBar.openPopup(postUrl); 822 return; 823 } 824 825 if(typeof(dataLayer) != 'undefined'){ 826 dataLayer.push({ 827 'category': 'æç« ', 828 'action': 'Menu_ShareButtonClick', 829 'label': label, 830 'event': 'Menu_ShareButtonClick' 831 }); 832 if(type == 'url'){ 833 return; 834 } 835 NMGShareBar.openPopup(postUrl); 836 return; 837 } 838 839 if(type == 'url'){ 840 return; 841 } 842 843 if(typeof(_gaq) == 'undefined' && typeof(__gaTracker) == 'undefined' && typeof(gtag) == 'undefined' && typeof(dataLayer) == 'undefined'){ 844 NMGShareBar.openPopup(postUrl); 845 return; 846 } 847 848} 849 850 (function($) { 851 852 function NMGShareBar() { 853 var the = this, 854 defaults = { 855 sideSeletor: '.share_bar', 856 bottomSeletor: '.footer_fixed', 857 titleSeletor:'.share_box' 858 }; 859 NMGShareBar.defaults = defaults; 860 $(function() { 861 NMGShareBar.bind(); 862 }); 863 }; 864 865 NMGShareBar.defaults = null; 866 867 NMGShareBar.openPopup = function(url) { 868 var popupWidth = 550, 869 popupHeight = 450, 870 iTop = (window.screen.availHeight - 30 - popupHeight) / 2, 871 iLeft = (window.screen.availWidth - 10 - popupWidth) / 2; 872 window.open(url, '_blank', 'toolbar=0,personalbar=0,resizable,scrollbars,status,width=' + popupWidth + ',height=' + popupHeight + ',top=' + iTop + ',left=' + iLeft); 873 } 874 if (typeof (window.NMGShareBar) == 'undefined') { 875 window.NMGShareBar = NMGShareBar; 876 new NMGShareBar(); 877 } 878 879}(jQuery)); 880 881function add_theme_ga_tracking(category, action, label, postUrl, id, type){ 882 var ua = navigator.userAgent; 883 var is_mobile = ua.match(/mobile/i); 884 885 if(is_mobile === null){ 886 action = action+"_Desktop"; 887 }else{ 888 action = action+"_Mobile"; 889 } 890 if(id == ''){ 891 id=0; 892 } 893 894 if(!type){ type = 'action'; } 895 896 console.log('type: '+type+'--'+'action: '+action); 897 898 899 ////////// GA4 for Page eg:[Chanel-No-5-Hub-Page/VnA-CSS-Hub-Page/Roger-Vivier-Hub-Page/Watches-Wonder-Hub-Page]/////////////// 900 if( category.indexOf("Page") >= 0 || category.indexOf("page") >= 0){ 901 if(typeof(dataLayer) != 'undefined'){ 902 dataLayer.push({ 903 'event': 'ga4_event_trigger', 904 'ga4_event': action, // action 905 'ga4_event_item_name': label, //label 906 }); 907 } 908 } 909 910 911 if (typeof(gtag) != 'undefined') { 912 var gtag_param = {"event_category" : category, "event_label" : label, "value" : id}; 913 if(type == 'not_action'){ 914 gtag_param = {"event_category" : category, "event_label" : label, "value" : id, "non_interaction" : true}; 915 } 916 gtag('event', action, gtag_param); 917 if(postUrl != ''){ 918 window.location.href = postUrl; 919 } 920 return; 921 } 922 923 if (typeof(_gaq) != 'undefined') { 924 var _gaq_param = ['_trackEvent', category, action, label, id]; 925 if(type == 'not_action'){ 926 _gaq_param = ['_trackEvent', category, action, label, id, true]; 927 } 928 _gaq.push(_gaq_param); 929 if(postUrl != ''){ 930 window.location.href = postUrl; 931 } 932 return; 933 } 934 if (typeof(__gaTracker) != 'undefined') { 935 console.log('__gaTracker GA...'); 936 if( type == 'not_action'){ 937 __gaTracker('send','event', category, action, label, id, {nonInteraction:true}); 938 }else{ 939 __gaTracker('send','event', category, action, label, id); 940 } 941 if(postUrl != ''){ 942 window.location.href = postUrl; 943 } 944 return; 945 } 946 947 if(typeof(dataLayer) != 'undefined'){ 948 dataLayer.push({ 949 'category': category, 950 'action': action, 951 'label': label, 952 'event': action 953 }); 954 if(postUrl != ''){ 955 window.location.href = postUrl; 956 } 957 return; 958 } 959 960 if(typeof(_gaq) == 'undefined' && typeof(__gaTracker) == 'undefined' && typeof(gtag) == 'undefined' && typeof(dataLayer) == 'undefined'){ 961 if(postUrl != ''){ 962 window.location.href = postUrl; 963 } 964 return; 965 } 966} 967 968/* 969 * GA4 function 970 * arguments : object (item_name/item_type/method/item_id/item_url/search_term/item_list_name) 971*/ 972function add_themes_ga4_tracking( action, arguments ){ 973 var ga4_arguments = {}; 974 ga4_arguments['event'] = 'ga4_event_trigger'; 975 ga4_arguments['ga4_event'] = action; 976 ga4_arguments['ga4_event_content_type'] = undefined; 977 ga4_arguments['ga4_event_item_name'] = undefined; 978 ga4_arguments['ga4_event_item_type'] = undefined; 979 ga4_arguments['ga4_event_item_id'] = undefined; 980 ga4_arguments['ga4_event_item_url'] = undefined; 981 ga4_arguments['ga4_event_method'] = undefined; 982 ga4_arguments['ga4_event_search_term'] = undefined; 983 ga4_arguments['ga4_event_item_list_name'] = undefined; 984 985 // for plugin: seo-automated-link-building 986 ga4_arguments['ga4_event_link_url'] = undefined; 987 ga4_arguments['ga4_event_link_text'] = undefined; 988 ga4_arguments['ga4_event_link_classes'] = undefined; 989 ga4_arguments['ga4_event_link_id'] = undefined; 990 ga4_arguments['ga4_event_link_domain'] = undefined; 991 992 if(jQuery.isEmptyObject(arguments) == false){ 993 jQuery.each(arguments, function(i, e) { 994 if(e != ''){ 995 var key = 'ga4_event_'+i; 996 ga4_arguments[key] = e; 997 } 998 }); 999 } 1000 1001 if(custom_common_ga4_post_id != ''){ 1002 setTimeout(function() { 1003 var ga4_gaq_push_arr = jQuery(document).find('#ga4_gaq_push_arr_'+custom_common_ga4_post_id).val(); 1004 if(ga4_gaq_push_arr != null){ 1005 var ga4_gaq_push_obj = JSON.parse(ga4_gaq_push_arr); 1006 if(jQuery.isEmptyObject(ga4_gaq_push_obj) == false){ 1007 jQuery.each(ga4_gaq_push_obj, function(j, k) { 1008 if((j != 'event') && (j != 'ga4_event')){ 1009 ga4_arguments[j] = k; 1010 } 1011 }); 1012 } 1013 } 1014 }, 500); 1015 } 1016 if(typeof(dataLayer) != 'undefined'){ 1017 dataLayer.push(ga4_arguments); 1018 } 1019 console.log(ga4_arguments) 1020 1021 if(action.indexOf('impression') == -1){ 1022 if( ga4_arguments['ga4_event_link_url'] != undefined){ 1023 window.location.href = ga4_arguments['ga4_event_link_url']; 1024 return; 1025 } 1026 } 1027}
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.