2012-02-29 6 views
9

私はそのような<a href="mailto:a&[email protected]" >のようなmailtoリンクを持っていますが、それはHTML上で正しく表示されますが、私たちがリンクをクリックすると、Outlookは単にtoアドレスに表示されます。誰もが同じ問題に直面したことを示唆してください。アンパサンドを含むメールアドレスのmailtoリンクに問題がありますか?

+0

アンパサンドは電子メールアドレスの有効な文字ではありませんか? (編集:ああ、確かに、[それは。](http://en.wikipedia.org/wiki/E-mail_address#Valid_email_addresses))エンコード率はあなたの友人だと思います。 –

+2

そして、 'mailto'はとても古いです。あなたのサイトの訪問者の90%はシステムメールを使用せず、メールサービスをGmailとして使用します。 contactformへのリンクは多くのユーザーフレンドリーです –

答えて

18

Percent encoding IEには文字列が必要ですが、ブラウザ間で動作すると想定しています。から this MSDN document

Windows Internet Explorer 7以降。 mailto:アドレス内のすべてのURL予約文字をパーセントエンコードする必要があります。たとえば、番号記号(#)はURLのフラグメント識別子として使用されます。 some#[email protected]などのアドレスを処理する場合、Internet Explorerはメールクライアントの番号記号までしかコピーしません。番号記号を含むフラグメント部分は無視される。この動作は仕様です。

ですから、

<a href="mailto:a%26b_admin%40xyz.com"> 

Asを必要とするが、私はパーセントエンコードされたアドレスはすべてのブラウザで動作しますが、私は確かに知っていない期待して、言いました。 ChromeとThunderbirdで動作することを確認できます。

+0

あなたはロック、Pekka。 – Konerak

+1

この行のJavaScriptはアンパサンドを変換するので、手作業で行う必要はありません: 'var emailFriendlyUrl = currentUrl.replace(/&/ g、 '%26');'。 –

関連する問題