Javascriptを使い(ライブラリを使わずに)リンク先の画面を別ウィンドウで横幅を固定しポップアップ表示させたい。


いっこ前のエントリと同じ実装をjQueryを使わずにJSだけで実現するには、下記のようにします。

html・・・class名に"popup"を記述


<a href="caution.html" class="popup">ご登録いただくにあたってのご注意</a>

javascript


if (window.addEventListener) { /* Firefox */
window.addEventListener("load", getClassPopupElem, false);
}
else if (window.attachEvent) { /* IE */
window.attachEvent("onload", getClassPopupElem);
}
else {
window.onload = getClassPopupElem;
}
function getClassPopupElem() {
if (! document.getElementsByTagName ) return;
var elem = document.getElementsByTagName('a');
for (var i=0; i<elem.length; i++){
var className = elem[i].className;
if(className == 'popup'){
if (elem[i].addEventListener) { /* Firefox */
elem[i].addEventListener('click',popupMsg, false);
}
else if (elem[i].attachEvent) { /* IE */
elem[i].attachEvent("onclick", popupMsg);
}
else {
elem[i].onclick = popupMsg;
}
}
}
}
function popupMsg(evt) {
if (evt.target) { /* Firefox */
evt.preventDefault();
window.open(evt.currentTarget.href,'Newwindow2', 'width=840,scrollbars=yes');
}
else if (window.event.srcElement) { /* IE */
window.event.returnValue = false;
if(window.event.srcElement.tagName.toLowerCase()=='img') {
window.open(window.event.srcElement.parentElement.href,'Newwindow2','width=840,scrollbars=yes');
}
if(window.event.srcElement.tagName.toLowerCase()=='a'){
window.open(window.event.srcElement.href,'Newwindow2', 'width=840,scrollbars=yes');
}
}
}


関連記事:

JavaScript(jQuery)を使い、リンク先の画面を別ウィンドウで横幅を固定しポップアップ表示させたい。 - とあるWebデザイナーの逆引き辞典Plus