2005年12月09日
修羅場ってます。もーれつに。
年末ってことで世間は騒がしいようですが、そんな喧噪もなんのそので仕事中。最終戦がどーしたとか、だれが戦力外だとか、しっかりとこっそりとウォッチしつつ、なんだか頭の中半分は師走の最中で、もう半分はすでにNHKの行く年来る年の放送が始まって、鐘の音を聞きつつミカンを食べているような、そんなわけのわからない精神状態です。
で、そういう時に限って Macがカーネルパニックでも起こそうものなら、わざわざ椅子から降りて、リアルorz をやってしまいそうな、、、いや、やりませんけど、そんな広さの床はこの部屋にはないですから。でも頭の中では(第4クール限定版の)清野のシュートのような完璧なフォームと切れ味の orz がしっかりとイメージされています。
んなことで、雀の涙か鰻の寝床のような暇(!?)を見つけて、せこせこと書いたblogが飛んでしまったある日、ふてくされて、なんか憂さ晴らしのネタでもないかとWeb巡りをしていたら、ふと目に付いた価格表に釘付け…そう、中古Macの買い取り価格表。そして、まさにそのカーネルパニックを起こして書きかけのblogを吹っ飛ばしたMDDの買値が暴騰している…。
ええ、もちろん翌日、昼休みに車をすっ飛ばし「コレとソレ、それからアレ。んで下取りこれで」と過去最速(当社比)で新しいMacをゲット。そして、過去最速(当社比)でセットアップ。もちろんマシンも過去最速(蛇足)。
まあ、値上がりにはそれなりに理由はあるし、来年のMactel(Intel insideなMac)登場を考えると微妙な部分もあるような気がします。普段ならあれやこれやと悩むのも楽しみのひとつですが…。
でも、いいんです。なんか、もうね、猛烈に気分転換したいというか、どーせなら、今年はとっとと終わらせて、明日から新年ってことにならないかなぁ…などと、すでに来年分の除夜の鐘を107つ目まで煩悩で予約してしまっているような、そんな気分の年末なんです。
2005年11月05日
前回の「Safari的blogの書式」 にこちらからトラックバックを頂いた。firefox では動くそうである。で、なんで Safari で動かないか、もう少し調べてみた。
と、その前に、この手の内容ならコメント付けられるようにした方が良かったな。なんかコメント付くと、いちいち対応してしまいそうになるんで、面倒くさくてw
同じトラックバックが3つも付いちゃってるのはご愛敬。きっとブラウザを取っ替え引っ替えテストされたのでしょう。一応削除しておいたけど、大丈夫かな?ちなみにマカー歴10年とか、こちらは…、、と、やめておこう年が(ry
ざっと眺めてみる。このスクリプトは編集中の文章の選択範囲を取得してそこに書式制御用の記号を差し込むというもので、実際に記事が投稿されて、そこで初めて記号が HTML に変換される。ベースはWiki系のものなんかな?
で、この後半部分は問題無い。変換はサーバー側で行われるわけで、正しい記号を含んだテキストがフォームとして送信されていれば、それで意図どおりのページができあがるわけである。
そして問題は前半部分にあるわけだが、これは記号入力を簡単に間違えなく使えるようにする「便利機能」にすぎないわけで、正しく理解していれば、Safari だろうと、なんだろうと手入力で問題ない。
* * *
このへん、ユーザーが編集している最中のテキストに、見知らぬ記号を差し込むのに、その記号自体についてマニュアルに十分と思える記述がないのは問題だろうな。
ユーザーが良く理解しないで初めて見た記号を編集してしまう可能性もあるわけだし、偶然、書式記号と同じものを文章として入力しようとして、意図しないページができあがって悩んでしまう人もいるかもしれない。そして、もちろん説明が十分にあれば、(人によっては)こんなふうに調べ回らなくても問題なく使えただろうに…と。
* * *
と、話が脇道にそれてしまったが、結局、問題はブラウザの JavaScript非互換問題ということになる。最初の「編集中の文章の選択範囲を取得」が Safari でうまく出来ないことが問題。
この部分、スクリプトでは、
document.selection.createRange()
と、
txtarea["setSelectionRange"]
の二通りの対応で互換性に配慮している。が、Safari ではどちらもうまくいかない。Safari で選択範囲を取得するには、
window.getSelection()
を使う…のだが、今回に限ってはたぶんこれもうまくいかない。
今回のスクリプトは onClick event をトリガーとして処理を行っているのだが、その、クリックしたアンカーの文字列を含んだような選択範囲なら正しい文字列が得られることを確認した。だが、それ以外が選択範囲の場合は、どーしても空の文字列が帰されてしまう。
そして、実際に必要なのはアンカーどころか、本文とは別のフォーム中のテキストエリアという領域の選択情報なわけだから、これではどうしようもない。
つまり、今の時点での理解では、Safari では、今回のようなスクリプトベースの文字列差し込みは困難という結論なってしまう。
ただ、まだ調べている途中で、これが結論とは言い切れない。ベースになっている Gecko のリファレンス をたぐりつつ、いまひとつ動作に不可解な部分もある。バージョン依存、環境依存といった可能性も考えなきゃいけない。時間があれば、もう少し調べてみたいところだが…。
ところで明日のチケットはすでに人の手に渡っている。そうだよ、仕事だよ、、、ぐぅ…。みんな、応援よろしく…
2005年11月04日
んー、とりあえず一本書いてみたわけだが、相変わらずの長文だorz。
それはともかく、どーも Safari だとボタン押しても修飾の挿入ができないことが判明…、判明っても、別にバージョン違いとか、そんなものを調べたわけではなく、あくまでも、今使ってるバージョン(Mac OS X 10.4.3 Safari ver2.02)でって話である。
まぁ、Mac を長く使っているとこんなことはなれっこなので、追々、サポート(あるのか?FAQは空みたいだが?)にでも質問してみるとか、マニュアルを探してみるとかすることとして、ちょこっと書式を調べてみた。
まず、画像。これだけはちゃんと命令用のコマンドが書き込まれるので問題ない。左寄せ、右寄せの場合は "//clear" と書き込まれて、これが<br clear="all">で、この位置で回り込みが解除される。これは行頭じゃないと有効にならない(たぶん)。
リンクは、これはマニュアルにも書いてあるから問題ない。書き出されるアンカータグは target="_blank" 付きだね。別ウィンドウで開くってやつ。
ぢゃあ、どうしても行頭に"#"を書いて、かつリストにしたくないときはどうするか…。"#" と書いても "&" 自身が Entity name に変換されてだめだし、
#と、行頭に半角スペースを入れて書くぐらいかな…と思ったら、 先頭半角スペースで<pre>タグになってるしw。 ここでなら "__下線__" と書いても '''太字''' と書いても素通りするが、 改行入れないと、はみ出して表示が壊れるな…
ほかに、右寄せとかセンタリングとか…んー、なんかありそうだがわかんないや
--以上--
プロフィール
こどれ
最新のエントリー
検索