MAMPで複数サイトのドキュメントルート設定する

MAMPを使用して複数のサイトを構築している際にドキュメントルートの設定は基本1つしかできない(MAMP Proなら可)のですが、以下の方法で複数のドキュメントルートを設定できます。

例えば通常

localhost:8888 がドキュメントルートになっていますが、

/Users/ユーザー名/demo/hogehoge01/ を localhost:8001 にしてみます。

/Application/MAMP/conf/apache/httpd.conf

をエディタで開き、

Listen 8888

の下に

Listen 8001

を追加、同じくhttpd.confの最下部に

<virtualhost *:8001>
DocumentRoot "/Users/ユーザー名/demo/hogehoge01/"
</virtualhost>

を追加してMAMPを再起動すると、localhost:8001 で直接アクセスできるようになります。

メモ。

スマホ用サイトでアドレスバーを隠している時の強制スクロール回避方法

iPhone等のスマホ用サイトを制作する際に少しでも表示領域を広くするためにアドレスバーを非表示にすることが多いのですが、今まで以下のように記述していました。

window.onload = function(){setTimeout("scrollTo(0,1)", 100);}

「非表示」というよりは「強制スクロール」で見えない位置まで動かしているだけです。

ただ、この方法だと他ページのページ内リンク(アンカー)へ飛ばそうとする際にうまく飛ばずにページ上部へ飛んでしまいます。

そこで以下のように記述を変えることで回避。

function doScroll() { if (window.pageYOffset === 0) { window.scrollTo(0,1); } }
window.onload = function() { setTimeout(doScroll, 100); }

iPhoneでしかチェックできていないですが今のとこはこれで。

IE9でprototype.jsのlightboxが機能しない場合

IE9でprototype.js版のlightboxが機能しなくなった時の対処法。

今ではjQuery版のlightboxに差し替えしてもいいのですが、prototype.jsを最新版に差し替えするだけでいけました。

※prototype.jsのダウンロードはこちらから。

WordPressでコメント投稿すると画面が真っ白になる

functions.phpなどで

<?php 〜 ?>

の外に空白がないか確認。

GoogleMapの埋め込み時に中心点をずらす

メモメモ

pixel_to=map.fromLatLngToContainerPixel(point)
pixel_from=map.fromLatLngToContainerPixel(map.getCenter())
new_pixel = new GSize(pixel_from.x-pixel_to.x+20, pixel_from.y-pixel_to.y+30)
map.panBy(new_pixel);

上記例ではマーカーが中心からX方向に20px、Y方向に30pxずれる。