WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:親ウィンドウへの漢字データ渡しで文字化け

せい [MAIL] [WriteDate : Wed May 2 21:26:46 2001]

MAC版IE Ver4.7上での現象ですが、

子ウィンドウ(search.html)から漢字を親ウィンドウ(index.html)
へ渡したいのですが、MAC版のIEでは文字化けしてしまいます。
MAC版IEはバグが多いと聞いていますが、回避策などあるでしょうか。
また、どこかに【バグ】と明記されているサイトはあるでしょうか。
以下、簡略化したサンプルHTMLです。
index.html(親)
------------------------------------------
<HTML><HEAD>
<TITLE>test</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function openWindow(aaa){
    var w_z = window.open("./search.html",    "Win","");
}
function SetSelected(values){
    ar = values.split(";");
        document.form.a.value = ar[0];
        document.form.b.value = ar[1];
}
// -->
</SCRIPT>
<BODY>
<form name=form action="index.php3" method="post" >
<br><br><center>
A欄 <INPUT TYPE="text" NAME="a" VALUE="" SIZE="6" ><br>
B欄 <INPUT TYPE="text" NAME="b" VALUE="" SIZE="6" ><br><br>
<A HREF="javascript:openWindow('aaa')">ここ</A>をクリックすると、
<br>子ウィンドウが開きます<br>
</center></FORM></BODY></HTML>
------------------------------------------
search.html(子)
------------------------------------------
<HTML>
<HEAD>
<TITLE>テスト</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
<SCRIPT LANGUAGE="JavaScript">
<!--
function onSelect(values){
    parent.opener.SetSelected(values);
    parent.close();
}
// -->
</SCRIPT>
</HEAD>
<body >
<center>
<br><br><A HREF="javascript:onSelect('ここに;漢字');">ここに(a欄)漢字(b欄)</A><br>↑クリックすると<br>親ウィンドウに文字が設定されます。
</center></body></html>
------------------------------------------


バギンズ [WriteDate : Wed May 2 21:57:27 2001]

一旦escapeで変換してから親ウィンドウの関数に渡し、親ウィンドウの関数でunescapeして元に戻すという方法ではどうでしょう?


せい [MAIL] [WriteDate : Thu May 3 11:35:05 2001]

> 一旦escapeで変換してから親ウィンドウの関数に渡し

ありがとうございます。やってみましたが、ダメでした。
バグ情報を検索してみたところ、

http://www.shiojiri.ne.jp/~openspc/JavaScript/bug/ie4.txt

ここに、<A HREF="javaScript:myFunc('漢字')"
の場合、文字化けする、とのことでした。
何か、別な回避策などはあるでしょうか?

MACのIEの場合のみ、CGIでのデータ渡し、と、
ゴリゴリ書くしかないかな、とあきらめ始めています。


andi [WriteDate : Thu May 3 13:38:51 2001]

う〜ん・・・cookieを通して渡すのはどうですか?


おーなーしぇふ [WriteDate : Thu May 3 17:55:47 2001]

>何か、別な回避策などはあるでしょうか?

onClickの場合、文字化けしないようなのでこちらを利用すると良いのかも?

この場合、href部分の対策として、何もしないダミー関数を用意してお
くとよいでしょう。


以下、一例:
■ダミー関数
function voi(){
    //なにもしないダミー関数
}

<A HREF="javascript:voi();" onClick="onSelect('ここに;漢字');">
※WinではInternetExplorer5.5、マックではInternetExplorer4.5でのみ確認。


せい [MAIL] [WriteDate : Sun May 6 12:57:46 2001]

> onClickの場合、文字化けしないようなのでこちらを利用すると良いのかも?

素晴らしい!!

> <A HREF="javascript:voi();" onClick="onSelect('ここに;漢字');">

これで解決しました。
おーなーしぇふ さん、本当にありがとうございました。
また、回答に協力してくれた バギンズさん andi さんも
ありがとうございました。


せい [MAIL] [WriteDate : Sun May 6 12:59:47 2001]

(【完了】にするのを忘れたので、再送信します)

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]
ChaichanPAPA's World