window.openとanchorで表示が違ってしまいます
[上に]
[前に]
[次に]
とこやん
1999/08/03(火) 14:35:32
皆様こんにちわ。
(1)window.open("*.htm",name)を用いてページを開いた時と、
普通に(2)<a href="*.htm">でページを開いた時の、表示の違いで困っております。
*.htmは
<body>
<script>
document.write("わんばんこ");document.close();
</script>
こんばんわ
</body>
と、ごくごく単純なものになっております。
これを開いた時に、
(2)<a href=*.htm>の場合は
わんばんこ こんばんわ
となるのですが、
(1)window.openの場合は
こんばんわ
だけの表示になってしまいます。
しかも(1)では、*.htmが開いた瞬間は「わんばんこ こんばんわ」と表示がされているのですが、
なぜか0.5秒後くらいに「こんばんわ」と切り換わってしまいます。
こんなことは初めてです。
あ、申し遅れましたが、この現象はNN4.0でのみ発生してまして、IE5.0では出てません。
(しかしIE5.0ではgetCookieが出来なくて、これはこれで使えないんです、、、)
どなたかこのような現象を体験した方がいらっしゃいましたら、お力をお借りできないでしょうか。
宜しくお願い致します。
Mugi
[E-Mail]
[HomePage]
1999/08/03(火) 16:36:24
スクリプトがあるファイルにwriteで書き出すときはdocument.close()は不要ですね。
getCookieは関数のソースを見ないと使えない原因がわかりません。
とこやん
1999/08/03(火) 19:50:35
Mugiさん、ありがとうございます!!
>スクリプトがあるファイルにwriteで書き出すときはdocument.close()は不要ですね。
し、知らなかった。。。
消してみたら、さくさくぅーっと動きました。
ほんっと、Mugiさん感謝です!!
そこで調子に乗って、getCookieの質問なんですが、
スクリプトはこのような感じです。
<script language="javascript">
<!--
var mozi = "";
//Cookieから指定されたデータを抜き出す
function getCookie(key, tmp1, tmp2, xx1, xx2, xx3) {
tmp1 = " " + document.cookie + ";";
xx1 = xx2 = 0;
len = tmp1.length;
while (xx1 < len) {
xx2 = tmp1.indexOf(";", xx1);
tmp2 = tmp1.substring(xx1 + 1, xx2);
xx3 = tmp2.indexOf("=");
if (tmp2.substring(0, xx3) == key) {
return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
}
xx1 = xx2 + 1;
}
return("");
}
function test() {
mozi = getCookie("wahaha");
//mozi = "わんばんこ";
return mozi;
}
//-->
</script>
んでもって、bodyは
<body bgcolor="#FFFFFF">
<script>
document.write(test());
</script>
こんばんわ
</body>
こんな感じです。
getCookieは、とほほさんのをそのまま利用させて頂いているので、
これ自体に問題は無さそうなんですが。。。
長くなってしまい申し訳ないです。
宜しくお願い致します。
Mugi
[E-Mail]
[HomePage]
1999/08/03(火) 21:16:18
このソース、インデントがすべて全角スペースになってますね。
実際のスクリプトでも全角スペースなら半角スペースやタブになおしてください。
とこやん
1999/08/04(水) 08:25:18
Mugiさん、おはようございます。
ご指摘のインデントについてですが、実際はタブで記述しております。
注意書きも何も無く、申し訳有りませんでした。
Mugi
[E-Mail]
[HomePage]
1999/08/04(水) 13:31:54
確認しますが、getCookieでCOOKIEの内容を読み出せないんですよね。
COOKIEが存在しているかは確認してみましたか?
alert(document.cookie)を使って「wahaha=〜」が含まれているか確認してみてください。
とこやん
1999/08/04(水) 17:20:11
[[解決]]
Mugiさん、こんにちわ。いつもいつもすみません。
早速、alert(document.cookie)を使って確認してみました。
すると確かに「wahaha=〜」は含まれておりました。
しかし、相対パスでgetCookieするページを開いた時には確かに含まれていたのですが、
絶対パスでページを開いた時にはundefinedとなってしまいます。。。
(ページは正常に表示されるんですが)
なぜクライアントのクッキーデータを取得するだけの事に、
相対パス、絶対パスが関係するのでしょうか???
もう、ここ1週間は涙、涙の毎日です。。。
ただ、window.openとanchorについてはMugiさんに解決して頂きましたので、
済マークをつけることに致します。
ありがとうございました。
[上に]
[前に]
[次に]