[mew-dist 25513] Re: [mew-win32 04129] Re: Firefox -> mozex -> mailto -> Mew

unisus at example.com unisus at example.com
2004年 10月 21日 (木) 00:16:08 JST


 From: Hideyuki SHIRAI (白井秀行) <shirai at example.com>
 Date: Wed, 20 Oct 2004 16:55:05 +0900 (JST)
 Message-Id: <20041020.165505.103013251.shirai.hideyuki at example.com>
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> unzip して zip するっていうことに気付くまで、このパッチをどうやっ
> て mozilla に反映するのか悩みましたけど :-)

すみません。
眠かったのではしょってしまいました。(^^;

> > ただ1つ、<a href="mailto:foge1 at example.com%2C%20foge2 at example.com">は
> > うまく行きませんでしたが…。
> 
> ふーむ、'%2c' が二重に符号化されて '%252c' ってなっちゃうのです
> ね。以下、まったくの素人なのでめちゃくちゃかもしれないのですが、
> 
> > Index: mozex.js
> > ===================================================================
> > --- mozex.js	(revision 11)
> > +++ mozex.js	(working copy)
> > @@ -426,6 +426,8 @@
> >                  }
> >              }
> >              
> > +            var href_decode = decodeURI(href);
> 
> この行を
> 
> 	    var href_decode = decodeURIComponent(href);
> 
> とすると大丈夫みたいです。どなたかくわしい方の検証をお願いします。(_ _)

# 全然詳しくないのですが…
確かに decodeURI だと %2C がデコードされませんね。

<html>
<head>
<title>Sample1</title>
</head>
<body>
<script language="JavaScript"><!--
str = "mailto:foge1 at example.com%2C%20foge2 at example.com";
document.write("decodeURI = " + decodeURI(str));
document.write("<br>");
document.write("decodeURIComponent = " + decodeURIComponent(str));
// --></script>
</body>
</html>

でも、この動きは encodeURI の動きと対応しているようです。
以下のような JavaScript を実行してみると、',' は %2C にエンコード
されません。
"mailto:foge1 at example.com, foge2 at example.com" をエンコードした結果は
"mailto:foge1 at example.com%2C%20foge2 at example.com" で間違いないので
しょうか?
# 間違いないとすると、Firefox のバグ?

<html>
<head>
<title>Sample2</title>
</head>
<body>
<script language="JavaScript"><!--
str = "mailto:foge1 at example.com, foge2 at example.com?Subject=実験&Cc=foge3 at example.com, foge4 at example.com";
document.write("encodeURI = " + encodeURI(str));
document.write("<br>");
document.write("encodeURIComponent = " + encodeURIComponent(str));
// --></script>
</body>
</html>

上記 encodeURI でのエンコードに従って、
<a href="mailto:foge1 at example.com,%20foge2 at example.com">だと
decodeURI->encodeURI して (mew-url-mailto "%R") でうまく行くのですが…。


----
馬越



Mew-dist メーリングリストの案内