今回も突然舞い込んできた某Webマスター“Aさん”の教えて攻撃である。
「JavaScriptのアラートで“Yes”“No”をやりたい」
JavaScriptのalertは「OK」「キャンセル」であるが、「Yes」「No」でやりたいらしい。
「できない」が一般的な回答。
であるがそれで引き下がるAさんではない。
「対応してくれない!」と騒がれるのも面倒だから、裏ワザを調べてみた。
JavaScriptからVBscriptの関数をcallするには
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200302_03020012.html
ここに書いてあると教えてあげても、即答で「分からん」ときた。困ったもんだ。
とりあえずもっと簡単なサンプルを作ってあげた。
……………
親フレーム
main3.html
<html>
<head><title>JavaScriptサンプル</title></head>
<frameset rows="100,*">
<frame src=up3.html name="up">
<frame src=down3.html name="down">
</frameset>
</html>
……………
up3.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD
HTML 4.0 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type"
content="text/JScript">
<title>スクリプト言語の混在</title>
</head>
<body>
<p><input type="button"
id="txt2" value="JScriptから、VBScriptのMsgBox関数を呼び出す"></p>
<script type="text/vbscript"><!–
Function txt1_onclick()
rc = MsgBox("あなたはジャイアンツが好きですか?",
vbYesNo)
txt1_onclick = rc
End Function
–></script>
<script type="text/JScript"><!–
function txt2::onclick()
{
r = txt1_onclick();
switch(r){
case 6: msg = "http://www.giants.jp/top.html";
break;
case 7: msg = "http://www.npb.or.jp/";
break;
default : msg = "http://www.yahoo.co.jp";
break;
}
parent.down.location.href = msg;
}
–></script>
</body>
</html>
……………
down3.html
<html>
<head><title>JavaScriptサンプル</title></head>
<body>
ダミーページ
</body>
</html>
……………
親切にここまでやってあげたのに「もういいや」だって…(哀れじゃ)