現在主流流動版網頁主要分為完全為 mobile 簡化的 mobile site 和 因應螢幕大小而自動調整的 Responsive Design.

而本站因為 Theme 直接 Support Responsive Design 而沒有另立 mobile site.
但因此面對一個問題,如何處理 adsense.

adsense 728x90 broken page
原裝 728×90 破壞了版面
adsense 320x50 normal
使用 320 x 50 後版面正常了

之前見過一個控制的 Java Script,但使用後令整個 adsense 都消失了,今次見到另一個終於 Work 了。

<script type="text/javascript">
google_ad_client = "ca-publisher-id";
if (window.innerWidth >= 800) {
google_ad_slot = "ad-unit-1";
google_ad_width = 728;
google_ad_height = 90;
} else {
google_ad_slot = "ad-unit-2";
google_ad_width = 320;
google_ad_height = 50;
}
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

請自行更改 google_ad_client 和 google_ad_slot

這個 script 是如果你 screen size 大過 800px 的話就正常顯示 728×90 的廣告,否則顯示 mobile 版本 320×50

我 Join 了 27/11/2012 的 .Adsense Mobile Hangout,問了主持人有關 Responsive Adsense 問題。
得到的答覆是如果用 Javascript 控制不同 Device 顯示不同的廣告,是容許的;當然你不可以改到內容和廣告分不清楚引致誤點 ,否則沒有問題。