ある広告会社の広告タグがあります。
元ソース
<script type='text/javascript' charset='UTF-8' src='//j.xxxxxx.net/js/ffffff.js' onload='new xxxxxxffffff.AdInitializer().initialize();' async></script>
この広告は、onloadイベントになっており、ページが読み終わったら表示される仕組みです。
これを、ページが読み終わった段階では何もせず、スクロールを開始した段階で有効になるよう改造したいです。
(ページの表示スピード改善が目的です)
下記のようにonloadをonscrollに変更しただけでは動きませんでした。
<script type='text/javascript' charset='UTF-8' src='//j.xxxxxx.net/js/ffffff.js' onscroll='new xxxxxxffffff.AdInitializer().initialize();' async></script>
上記のスクリプトは
<script type='text/javascript'> charset='UTF-8'; src='//j.xxxxxx.net/js/ffffff.js'; onload='new xxxxxxffffff.AdInitializer().initialize();' async; </script>
と分解してみたのですが、上記の記載では動きませんでした。
adsecneのものなら下記を見つけたのですが、当方の広告会社のソースの分解が私にとっては難度が高く、うまく利用できませんでした。
<script> (function(window, document) { function main() { // GoogleAdSense読込み var ad = document.createElement('script'); ad.type = 'text/javascript'; ad.async = true; // 新コードの場合、サイト運営者IDを書き換えてコメントアウトを外す //ad.dataset.adClient = 'ca-pub-XXXXXXXXXXXXXXXX'; ad.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'; var sc = document.getElementsByTagName('script')[0]; sc.parentNode.insertBefore(ad, sc); } // 遅延読込み var lazyLoad = false; function onLazyLoad() { if (lazyLoad === false) { // 複数呼び出し回避 + イベント解除 lazyLoad = true; window.removeEventListener('scroll', onLazyLoad); window.removeEventListener('mousemove', onLazyLoad); window.removeEventListener('mousedown', onLazyLoad); window.removeEventListener('touchstart', onLazyLoad); window.removeEventListener('keydown', onLazyLoad); main(); } } window.addEventListener('scroll', onLazyLoad); window.addEventListener('mousemove', onLazyLoad); window.addEventListener('mousedown', onLazyLoad); window.addEventListener('touchstart', onLazyLoad); window.addEventListener('keydown', onLazyLoad); window.addEventListener('load', function() { // ドキュメント途中(更新時 or ページ内リンク) if (window.pageYOffset) { onLazyLoad(); } }); })(window, document); </script>
どのようにすればスクロールで発火出来るかご教示いただきたくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/04 22:28