ユーザーが電子メールをポップアップして他のユーザーを招待できる Web アプリケーションがあります。問題は、フランス語のユーザーの場合、この電子メールにアクセント付きの文字が含まれており、電子メールを Firefox で開くことができず、次のエラーが表示されることです。
エラー: コンポーネントがエラー コードを返しました: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMLocation.href]
アクセントがどのようにエンコードされているかを理解し、次のコードで簡単に再現できます。
document.location.href = 'mailto:?body=' + escape("à");
firefox では壊れていますが、Chrome と IE では動作します。
document.location.href = 'mailto:?body=' + encodeURIComponent("à");
Firefox では動作しますが、Chrome と IE を使用するとメール本文に間違った文字 ("Ã") が生成されます
したがって、私の質問は、ブラウザ間で機能するように、mailto リンクの特殊文字をどのようにエンコードする必要があるかということです。
ありがとう!