追記ってなんだろう? 2004-07-15 (木) 13:03:00+09:00

ソフトウェア

本日の昼休み。

テスト。y=ax2+b, 2H2+O2→2H2O

以前MTで「追記」を試してみたところ、要は同じ日の2件目以降の投稿のことでした。

rNoteは特に追記と銘打った機能はないようですが、同日2件目の投稿をしたら、普通に表示されるわけで、既にMTでいうところの「追記」は付いているという結論になる。(やり方としては、Dateタグが同じ日付のxmlファイルを作るだけ。ファイル名はなんでもいい。)

違いといえば、MTの場合、デフォルトの画面構成だと、日ごとにがっちり分類表示されるけど、rNoteのデフォルトの画面構成だと、投稿記事同士は一律に順に枠で囲って表示されるので、同日2件目の記事だとかいう区別はないというだけで。

…という理解であっていれば、rNoteの場合は追記の機能は既にあるので、スクリプトですることがあるとしたら、既存記事を読み込んで編集するとか、削除するとかの管理機能…ってことになるのかなぁ??

あ…そう言えば、同日記事同士の前後関係は、どうなってるんでしょうね。ファイル自身のタイムスタンプ??翌日以降になってから、ある特定の日の追記の積りで2件目の記事を投稿するとかは構造的に出来るんでしょうか。(あんまりやりたくない編集だけど。^^;)2件登録されている同日記事のうち、一件目の追記として差し込みたいときはどうしたら??

…てか、Dateタグで時分秒まで管理するなりして、あくまでDateタグの時刻同士で比べて同日記事の前後関係を管理するようにしたらシンプルになりそうな気が…。うーん…時間がとれるようになったら、ソース拝見してみます(^^;。

[コメントの受付は終了しています ]
1: りん (07/15 17:47)
Dateタグが同一なら、前後関係は、単純にファイルシステム上で先に見付かった方が上になるだけですー。
自分で前後を付けたいなら、Dateタグを1分だけ増やすとかで。
2: 冬星 (07/15 20:33)
おぉ作者様はじめまして!あー、なるほど…。Dateタグ時刻情報持ってるんですね。もう少し行間読むようにしないと。
表示順決定一番きれいな仕組みですね。解説ありがとうございます(^^


この前ここにはったやつで変更してあったところは、置換機能以外で大きいのは下の4点くらいです。

1. $newdata = mb_convert_encoding($newdata, "UTF-8", "euc");
のところで、"euc"を"auto"にした(EUC以外の文字セットが来る可能性を考えて)。変換元として認識する文字セットは mb_detect_order() で設定しておけるようです。

2. $PHP_SELF を $_SERVER['PHP_SELF'] にした。
$PHP_SELF は register_globals が on の時のみ利用できるものだそうなので、Rinn さんのページに載っている .htaccess への設定 ( php_flag register_globals Off ) をするとうまく動かなくなるので変更。

3. 入力欄の textarea の wrap を hard から soft に。
タグを挿入したりすると制限文字数をオーバーしたりするのでこうしてみた。問題なく記事表示されるようでよかった。

4. 記事の xml ファイルの年を4桁2桁どちらでか選べるように define をきって、去年とかの記事も投稿ができるように。
今まで作っていたページの日記を移動してもってきたいときに記事を貼り付けて投稿すると便利かなと。

[コメントの受付は終了しています ]
1: とみら (07/14 01:32)
1、2、4を直してみましたんで、よろしければ試用してみて下さい☆彡 まだmb_detect_orderの使い方がよくわかってないのでやや不安ですが……
この記事のリンク元 | 28 |


IE,FireFox 2004-07-12 (月) 01:00:00+09:00

ソフトウェア

IE6 では document.selection が有効だが FireFox では無い。
IE6 は入力欄(textarea) に textLength などのプロパティが存在しないが FireFox には有る。

そこで document.selection が真だったら objRange = document.selection.createRange(); して
おき、置換系ボタンが押されたら再び document.selection
を見て有効であれば objRange.text = v; 。無効ならプロパティ textLength,
selectionStart, selectionEnd を元に、入力欄の内容を置換して置き換える。

この方法で IE6 と FireFox の文字列置換の動作共存と、IE6のみだが条件付で Ctrl-Z で Undo でき
た。FireFox では textarea の value に文字列をセットしたとき UNDO できないようだ(将来できるよ
うに変更される可能性はあると思う)。

…が、他ブラウザでまた異なった実装具合のものだと動作変になるでしょうなぁ。実装具合がバラバラなの
がナンとも…。