Ajaxでロードしたページに含まれるAdsenseを表示させる

当記事で紹介しているスクリプトについて、Googleの公式なドキュメントや解説が見つけられませんでした。もしかしたらAdsense For Ajaxと呼ばれていたものかもしれません。
現時点では動作はしていますが、近い将来廃止や動かなくなる可能性もありますのでご注意ください。
また、google.load("ads", "3")で呼べるAPIについて詳細をご存知の方はよろしければ教えて下さい。

AjaxでAdsenseを含むページをロードした際、そのロードした先のページに含まれるAdsense広告が表示されません。
これはAjaxでロードしたあとにAdsenseを出力するJavascriptが実行されないためですが、その解決策を調べました。

AD

サンプル

普通にload()しただけの例(Adsenseが表示されていない)
Adsenseの出力を工夫した例(Adsenseが表示されている)

HTML

head内で以下のようにGoogle Adsense API用のライブラリをロードします。
また、広告挿入用の要素(以下の例ではdiv#ad)を配置します。

Javascript

次に以下のようなJavascriptを書きます。
google.ads.Adという関数の部分でクライアントID、広告を挿入する要素、オプション値を渡してAdsenseを表示させます。

formatに指定している広告サイズについては、こちらを参照してください。

なお、この方法だとHTML内のコンテンツと関連した広告ではなく個人の閲覧履歴のみを参照して広告が表示されているように見えます。
Adsenseのクリック単価を意識している場合はよくないかもしれません。何でもいいからAdsenseを出したい、という場合ぐらいしか使えないかも。

AD

Share

Commentsコメント

メールアドレスは公開されません。コメントは必ずご入力ください。

HTMLタグは使用できません。ソースコードを書き込みたい場合はCodetterGistCodePenなどのご利用が便利です。

コメントはまだありません。