JavaScript で ポップアップ させたい
[上に]
[前に]
[次に]
ひろぼー
[HomePage]
1998/09/10(木) 15:50:51
JavaScriptはド素人です。
細かい文章が沢山あって表が大きくなりすぎるので、
表中にはリンクだけ張ってクリックで別窓表示したかったのです。
<a href="msg12345.htm" target="msg">☆</a>
でも、小文それぞれに html ファイルを作るのはとても面倒なので、
JavaScript で表示させれば、一つのソースに組み込めるのでは、
と考えました。つまり、
<a href="#" onclick=openwin("表示させたい小文")>☆</a>
さて、openwin()をどう作るかが問題なんですが、とりあえず、
<script language="JavaScript"><!--
function openwin(message) {
w = open("msg.htm", "msg", "width=400,height=200,toolbar=no,scrollbars=yes,resizable=yes");
w.focus();
w.document.open();
w.document.write("<font size=2>");
w.document.write(message);
w.document.write("</font>");
w.document.close();
}
// --></script>
なんてやってみました。
でも、IE では時々エラー、NN では2度目に必ずエラーです。
方針が間違ってるでしょうか?
URL覧に、テスト html を置いときました。
ご指導願えますか?
みんこ
[HomePage]
1998/09/10(木) 18:09:05
アラートで出しちゃだめですか?
<A HREF="#" onClick="alert('メッセージ')";return true">
これでリンク無しでメッセージだけ出ますけど。改行タグが効かないので(一行30字)スペースとかで
調節すれば複数行の文でも書けますよ。
もしくは、文章が多ければ
<script language="JavaScript"><!--
function openwin(n){
window.open("msg"+n+".html","msg","width=400,height=200,toolbar=no,scrollbars=yes,resizable=yes");
}
//-->
</script>
として、本文に
<A HREF="#" onClick="openwin(1)";return true">リンク1</a>
<A HREF="#" onClick="openwin(2)";return true">リンク2</a>...と
入れるとか。これだと確かに一つづつファイル作らないといけませんが
本文のみ書き換えればいいのでそんなに手間じゃないと思います。
(ファイル名はmsg1.html、msg2.html...となりますこの場合)
document.writeを使って長々と書き込む方法は知りません。すみません。
まる高
[E-Mail]
[HomePage]
1998/09/11(金) 09:16:18
alert文における改行は、\nで行えます。
まる高
[E-Mail]
[HomePage]
1998/09/11(金) 09:22:37
(続)小生のホームページの「勝田マラソン・コースレポート」のコーナーに
行って頂き、ソースを開いて見てください。ひろぼーさんのやりたい
ことを少なからず、実現していますので。
まる高
1998/09/11(金) 09:38:15
(続続)すみません、一気に書けば良かったのですが。
w = open("msg.htm", "msg", "width=400,height=200,toolbar=no,scrollbars=yes,resizable=yes");
を下のように書き換えればOKだと思います。
w = window.open("", "msg", "width=400,height=200,toolbar=no,scrollbars=yes,resizable=yes");
みんこ
[HomePage]
1998/09/11(金) 10:18:02
>alert文における改行は、\nで行えます。
横レスですが、なるほどー。そうなんですか。
うちのソース直してみます。
それはそうと、上のソース、やってみましたが(Mac)
NN4.0は動きますがIE3.0だと動きませんね。
飯塚
[E-Mail]
[HomePage]
1998/09/12(土) 01:26:12
<script language="JavaScript"><!--
// これで大丈夫だと思います。
cnt = "";
function openwin(message) {
cnt = cnt + "a";
w = open("", cnt, "width=400,height=200,toolbar=no,scrollbars=yes,resizable=yes");
w.focus(); // IE3ではエラーになる
w.document.open();
w.document.write("<font size=2>");
w.document.write(message);
w.document.write("</font>");
w.document.close();
}
//--></script>
ひろぼー
1998/09/12(土) 08:49:14
[[解決]]
みなさんありがとうございます。
結果的には、まる高さんがおっしゃったように、
w = open("msg.htm", "msg",………
を
w = window.open("", "msg",………
に書き換えることで、すべて解決しました。
これがなぜなのか現象は全く理解してないのですが(^^;;
でもって、まる高さんのページを参考にして、
<A HREF="#" onClick=openwin("………")>
を
<A HREF=JavaScript:openwin("………")>
にしたら、履歴がおかしくなる問題まで解決しました。
みんこさん提案の alert() や confirm() は最初に試したのですが、
文章をクリップボードにコピーができないのが致命的で、
確認ボタンを押す面倒もあり、今回の冒険をしてみました。
みんこさんや飯塚さんの、w.focus() が IE3 で動かない件、
情報とても助かります。今回は特定小数向けのページなので
IE4とNN4で動けば充分ですが、今後のため心に止めておきます。
本当に感謝です。ありがとうございました。
ひろぼー
[HomePage]
1998/09/12(土) 09:08:07
蛇足ですが、修正後のサンプルを置いてURL覧に書きましたので、
もし興味をお持ちの方はご覧下さい。
[上に]
[前に]
[次に]