【JavaScript】リンクオブジェクトのhref参照時のブラウザ毎の振る舞いの違い
<a href="http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E8%AA%9E" id="testlink">http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E8%AA%9E</a>のようなリンク(http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E8%AA%9E)がある場合。
JavaScriptにより当該リンクオブジェクトを取得し、そのhrefの値を適当な変数に入れてから表示すると、IE6では'%E6'以下が化けてしまいますし、Operaでは日本語に変換されてしまいます。
| 1. | 元のURI | |
| 2. | リンクオブジェクトのhref値 | |
| 3. | 1をunescapeしたもの | |
| 4. | 1をdecodeURIしたもの | |
| 5. | 3をescapeしたもの | |
| 6. | 4をencodeURIしたもの |
- IE6 SP2では、勝手にunescapeされてしまう。
- Opera9.10では、勝手にdecodeURIされてしまう。
- Firefox2.0.0.11やIE7では、特に変換は行わない。
昨日IE7を入れてみたら、escapeは行わないようになっているみたいだったので追記。
あとは、日本語ドメイン名(というかIDN)の扱いも調べておいた方がいいかなぁ?
2007/12/04(火) 00:39 | 固定リンク
| 記事の編集(管理者用)
「パソコン・インターネット」カテゴリの記事
- ツールを作る側は対象に与える影響をどこまで気にするか?(2008.05.29)
- "『無断リンクはやめて』という人にはしない方向で"の思考過程(2008.05.24)
- 『無断リンクはやめて』という人にはしない方向で(2008.05.22)
- ちょっと小細工:textareaの高さを自動調節(2008.05.21)
- Yin and Yang:動作改善(?)他(2008.05.14)
「覚書」カテゴリの記事
- ちょっと小細工:textareaの高さを自動調節(2008.05.21)
- Google検索結果画面のHTML構造、変わりました?(2008.04.30)
- Googleの検索結果からH2タグが消える現象の原因(2008.05.03)
- 【JScript】ActiveXObject('htmlfile')で発生する不具合(2008.04.05)
- 【JavaScript】onmouseover/onmouseoutの振る舞い(2008.03.11)

