2009年9月23日水曜日

Twitterに近世文語もどきでつぶやく

連日、大学図書館や国会図書館に籠もっている。当たり前のことではあるけれども、やはり種々の誘惑物やマンションのおばさんの叫び声などから隔絶された環境というのは、集中するのに最適で、とくに大学院生は「研究者用個室」なるものを借りられるので、なおよい。

そんなわけで9月に入ってPCに触れる機会と時間が著しく少なくなったのだが、8月以来わけあってTwitterを使い始め、最近慣れてきた。

140余文字の「つぶやき」をネット上に垂れ流すという、何とも贅沢(?)な無意味系サービスであるが、その制限文字数は最大限に使いたい。それで表題のような次第となる。おそらく少ない文字数により多くの情報を込めるには、
現代文語 < 近世文語 < 中国語 (< 古典中国語?)
という順で有利であると思う。
しかし実際上中国語は書けないし読めない。結局近世文語からあまりに冗長な箇所のみ削ぎ落として用いるのが次善であるようす。

しかるに、そもそも「つぶやき」に普通言うような意味での「意味」とか「内容」とかいったものを込めるというのはTwitterの趣旨に反しているような気もする。

2009年9月5日土曜日

回避法発見──Opera で、TEXTAREAの表示テキストとvalueプロパティの連動がなくなる問題

先の2つのポストでのべた問題の現象は、問題を(開発中のアプリ以外の場所で)再現しようとしてもうまくいかない…。が、ともかくこの現象を回避するための方法がわかった。

TEXTAREA要素を、非表示の要素に追加してはいけない表示してから追加しないと、valueプロパティと表示されているTEXTAREA内のテキストとの連動が切れる現象が起きやすくなる

結局のところ、2つの値の連動がなくなってしまう決定的な条件・理由は不明のままだが、ともかくOperaでは上記の対策が有効な模様。

実際にこの問題がおきたのは、jQuery UIライブラリの、DialogとTabsのUI内であった。どちらも、コンテンツを隠す──Dialogの場合はダイアログそのものを表示・非表示できるし、Tabsの場合は選択されているタブのコンテンツ以外は非表示になる──機能があり、この隠している状態で、コンテンツにTEXTAREA要素を追加すると上述の問題が100%発生していた。

2009年9月4日金曜日

Opera 9 および 10 におけるTEXTAREAのValueプロパティに関するバグ

先のポストにも書いたバグに3日間悩まされ続けている。
バグの症状をまとめてみると……

Opera 9 および 10 で、
  1. あるDOM要素──ここでは仮にWとする──内(たとえばDIV要素内)に、jQueryで$('<textarea></textarea>') などとして作成したTEXTAREA要素を子要素もしくは孫要素などとして関連付ける(appendメソッドなどを使用)。
  2. W要素を空にする──子要素をすべて削除するなり、innerHTMLプロパティに空文字列を代入するなりする。jQuery要素としてのWであれば、emptyメソッドでこれができる。
  3. もう一度、1と同じ手順でTEXTAREAを作成して要素Wに関連付ける。

これでもう、TEXTAREAのvalueプロパティと、実際に表示されているTEXTAREA内のテキストとが、連動しなくなる

こうなると、もう、どんなテキストを入力しても、あるいは既存のテキストをどう編集しようとも、それらがvalueプロパティに反映されないため、JavaScript側からユーザが入力したテキストを取得しようとしても、あくまでもプロパティとしてのvalueの値しか取得できなくなる。

プロパティとしてのvalue──表示されているテキストとの連携を失ったvalueの値──は、もちろんvalueプロパティに対して別の文字列を代入することで変更可能だし、当然jQueryのメソッドでも変更できる。しかしこうしてvalueプロパティの値を変更しても、もう表示には反映されない

これはかなり最悪な状態である。どうしても回避できない! こんな簡単なことなのに、検索でしらべてみても他に同様の症状の報告がない。これはぼくのPCにおいてだけ発生するもの?!

2009年9月3日木曜日

Opera 9 - 10 で、フォーム要素のvalueと表示に食い違い

Opera 9 および 10 で、フォーム要素──とくにTEXTAREAとINPUT(type=text)のvalueプロパティと、実際にそれらの要素内に表示されているテキストとが食い違う、したがってフォーム内に記述され編集され表示されているデータをJavaScriptからうまく取得できない、という非常に厄介な問題に遭遇している。

TEXTAREAについては、CSSと関連して値の取得がうまくいかない、とかほかにもOpera旧バージョンのバグが報告されているようだけど、上述のような問題は見あたらない様子。

問題は頻繁に起きるのだが、いまいち正確な条件がわからない。

2009年9月1日火曜日

Opera 10.00 をさっそくインストール

WebブラウザOpera 10.00 の正式版がリリースされたというので、さっそくインストールしてみた。デザインがなんとなくChromeなのだが、単にデザインの流行の問題なのかもしれない。

例のごとくFirefoxとその拡張機能によるブラウジングに慣れてしまったぼくにとっては、テキストエリア内のテキストを外部エディタで編集するようなメニューがないことが残念なのだけど、またしばらく使ってみようか。

Opera 10のこととは関係ないが、Operaのインターフェースは、タブが、メニューバーとアドレスバーの間にあるところがけっこうお気に入り。デフォルトではウィンドウの左側に表示される「ブックマーク」その他のパネルの表示位置──パネルの上端は、タブバーの下辺に接していて、まるでサイドパネルは個々のタブに従属して居るみたいだ!──には疑問を感じるけれど、タブバーの位置はまったく理にかなっている。

Firefoxの開発コミュニティはといえば、Operaのみがこのデザインを採用していたころには見向きもしなかったのに、Chromeが同じデザインで登場したとたんに、タブバーの位置を移動すべきかどうか、という議論が突然に(?)はじまったような感じ。ちょっと滑稽に感じたが(Operaなら捨て置いても良いが、Chrome=Googleだと焦りを感じるという)、これはあるいはネット・ニュースのつくりだしたフィクションだろうか。



Powered by ScribeFire.