HacknoteのTwitter、Facebookシェアへのボタンにも使っているスクリプトです。
window.open()
は特定の位置にウィンドウを開くことができますが、ブラウザの位置・広さをもとにブラウザの中央にウィンドウを配置します。
function popupWindow(url, name, w, h) { url = encodeURI(decodeURI(url)); wTop = window.screenTop + (window.innerHeight / 2) - (h / 2); wLeft = window.screenLeft + (window.innerWidth / 2) - (w / 2); window.open(url, name, 'width=' + w + ', height=' + h + ', top=' + wTop + ', left=' + wLeft + ', personalbar=0, toolbar=0, scrollbars=1, resizable=!'); } //popupWindowへ投げる変数 //url : ウィンドウに出すURL //name : ウィンドウ名 //w : ウィンドウの横幅 //h : ウィンドウの縦幅
wTop
とwLeft
にウィンドウを配置する座標を計算して格納し、window.open()
のオプションに設定しています。