mpu 広告スロットが表示されたらロードしたいです。現在、デスクトップでは問題なく動作しますが、モバイル デバイスを処理するコードが正常に動作していません。
広告スロットがページに部分的に表示されている場合、広告が表示されます。現在、これはユーザーが広告スロットまでスクロールしてから上にスクロールした場合にのみ機能します。
ユーザーが上にスクロールするとすぐに、広告が読み込まれます。どうして??
ページに広告を配置するために呼び出される関数:
function generateMpu(slotName,instantRefresh) {
var slot = googletag.defineSlot('/199874932/Tech_MPU', [[300, 250], [300, 600]], slotName).
var refreshedMobile = false;
jQuery('body').bind('touchmove', function(e) {
var inViewMobile = isScrolledIntoView('#'+slotName);
if (inViewMobile == true && !refreshedMobile) {
googletag.cmd.push(function() {
googletag.display(slotName);
googletag.pubads().refresh([slot]);
});
refreshedMobile = true; // Refresh the ad only once.
}
});
}
広告コンテナが表示可能かどうかを判断するために 使用される関数: (上記の関数で使用)
function isScrolledIntoView(elem)
{
var $elem = jQuery(elem);
var $window = jQuery(window);
var docViewTop = $window.scrollTop();
var docViewBottom = docViewTop + $window.height();
var elemTop = $elem.offset().top;
var elemBottom = elemTop + $elem.height();
return ((elemTop <= docViewBottom) && (elemBottom >= docViewTop));
}