【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 | 固定リンク
| 記事の編集(管理者用)
「パソコン・インターネット」カテゴリの記事
- AmazonのProduct Advertising API認証プロキシ公開(REST)(2009.07.03)
- Twitter個別発言の前後を表示するスクリプトは便利ですね(2009.06.12)
- 『お気楽五七五』でTwitterはじめてみました(2009.06.12)
- 【お気楽五七五】なんとなく五七五でつぶやくサービスを作ってみた(2009.06.02)
- 瞬語一覧をブログパーツ化してみた(2009.06.06)
「覚書」カテゴリの記事
- 【ココログ】コメント出来ないときに使ってみるブックマークレット(2007.03.27)
- AmazonのProduct Advertising API認証プロキシ公開(REST)(2009.07.03)
- Twitter個別発言の前後を表示するスクリプトは便利ですね(2009.06.12)
- 【お気楽五七五】なんとなく五七五でつぶやくサービスを作ってみた(2009.06.02)
- ◆風柳亭印◆汎用ツール一覧(2008.12.21)

