« MS、PDF対抗の文書フォーマット「Metro」を披露 | メイン | 無料フルブラウザ「サイトスニーカー」β版公開開始 »


 2005年04月26日

この日のCOTOBACO

Safari 1.3とBookmarkletの文字化け問題


Safariが1.3になったらBlogPeopleの各種Bookmarkletでサイト名やら引用文やら日本語に関係する部分が文字化けする、という質問がsupport宛に来たので調べて見ましたが、これ、どうしようもないようですね。

詳しくはここに書いてあるとおりです。
http://homepage.mac.com/yuji_okamura/iblog/DotMac/Tips/C1065922345/E1323141576/

エスケープした文字列がアンエスケープできないってどういうこっちゃ。

シングルバイト圏内じゃ見つけられないバグですが、先日のJavaのsegmentation fault問題といい、ここ数回のソフトウェア・アップデートはRCのクオリティの変化を感じさせます。担当者が変わったんでしょうか。

ちなみに、getSelection()メソッドのビヘイビアも変らしいです。状況と対応方法は以下のURLをご参考ください。

http://joemaller.com/2005/04/24/post503/getselection-workaround

3時間ほどいろいろ回避策を探して見たんですけど、結局全部だめでした。無駄な時間を費やしてしまった・・・。

ということでSafari 1.3のバグフィックス待ちという結論になりましたが、Safari専用にならない方法で回避策を見つけた人がいたら教えてください。


 投稿者 nagasawa : 2005年04月26日 19:45

 トラックバック

このエントリーのトラックバックURL:(モダシンへのリンクが記事中にない場合は弾かれます)
237

 コメント

リンクどうもです。
そのエスケープの件のエントリは Safari 1.3 を持っている人向けの説明なので、
http://homepage.mac.com/yuji_okamura/iblog/DotMac/Tips/C1065922345/E1353585147/index.html#safari_1_3
の解説文の方が Safari を持っていない人にもいいかなと思います。

これ Safari 1.3 専用にせずに正確な処理をしようとすると、title 要素の生の値とページの charset を受けて解釈するサーバサイドの仕組みが必要になりそうです。charset は一般のページでは間違っているページや付けていないページがごろごろしているから、どっちにしろ正確じゃないですね。

Safari 1.3 が改善されればそういう対策は無駄な努力になってしまうし、もともと無駄な努力の典型のような内容になってしまうし、私も改善待ちが賢明かと思います。

投稿者 OKAMURA [TypeKey Profile Page] : 2005年04月27日 00:26

okamuraさん、
貴重な情報ありがとうございました。

基本的にはSafari 1.3だけで起こる障害なので、リンク先としては間違いじゃないと思っています。

しかし、Tigerが出てまたSafari 2.0になってまたやっかいな問題が出てくるとバージョンごとにいろいろやんなきゃいけなくなるんで、うーむって感じですね。

投稿者 nagasawa [TypeKey Profile Page] : 2005年04月27日 01:14

結局 Safari のバグではないと考え直しました。
エントリ「homepage.mac.com が URL エンコードに関して仕様変更の模様」で説明したのでそちらをご覧下さい。Safari にも他のブラウザにも共通で使える bookmarklet の作り方も説明しています。

投稿者 OKAMURA : 2006年05月10日 03:28