トップ «前の日記(2005-04-07) 最新 次の日記(2005-04-09)» 編集

2002|01|02|03|04|05|06|07|08|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|02|03|04|07|

2005-04-08 [長年日記]

_ 編集中にパース結果が見えるWikiサンプル Ajax版 (03:19)

なんかAjaxの方がキャッチーらしいんで、(俺的には)意味のないAjax版を作ってみた。JavaScriptのソースはまあ見たとおり、単にJavaScriptでパース処理をする代わりに、XMLHttpRequestで元テキストを渡して、非同期で返された結果HTMLをInnerHTMLに埋め込んでやるだけ。

もちろんAjaxでもJavaScriptパーサーを使う場合でも、OnChangeとかOnKeyPressとかでパースを呼ぶことは可能だけど、負荷を考えるとそこまでやらない方がいいよね。ただ、OnKeyPressで改行キーが押されたときはその場でパースを呼び出した方が、編集していて気持ちがいいかもしれない。

呼び出されているPHPの方のコード(parse.php)は、PHP版のWikiParserを使って、

<?php

require_once 'WikiParser.php';

$parser =& new WikiParser(array(
	'heading_depth' => 3,
	'paragraph_oriented' => TRUE,
	'disable_plugins' => array('html'),
));

$body = $_POST['body'];
$html = $parser->parse($body);
header('content-type: text/plain; charset=UTF-8');
echo $html;

?>

って感じ。

でもどう考えてもこういう用途ではAjaxを使わなくてすむならば使わない方がいいよなー。サーバー負荷がかからないし、XMLHTTPRequestを使わず純粋に文字列操作だけのパース処理をJavaScriptで書いた方がクロスブラウザ性も高いし(Ajax版はOpera8でも動かない)。

まあ汎用的なサンプルコードとしては、Ajax版の方が他のWikiエンジンとかに組み込みやすいんだろうけどさ。

_ げげげーっ! (10:09)

TypeKeyの認証サーバー、SSL証明書の期限が切れてるよ。更新してプリーズ!

そういやTypeKeyのサーバーって、thawteってところの証明書使ってるんだな。聞いたことないけど、どうなんだろう?(主に携帯電話対応とか。ってそれはverisign以外はほとんどダメだろうけど) 値段はそこそこ安いみたいだけど。

Tags: TypeKey
本日のツッコミ(全3件) [ツッコミを入れる]
_ zoe (2005-04-08 06:43)

あ、いや、パースの結果でなくて"プレビュー"が更新されるものと思ってたんです。つまり、全然ちゃんと読んでなかっただけです。

_ zoe (2005-04-08 06:45)

うわ!すみません。そうなってますね。

_ ishinao (2005-04-08 19:34)

いや、最近意味のないAjaxマンセー的風潮がちらほら見受けられるんで、ちょっとつっこんでおきたかったんです。確かにAjaxは使える技術だけど、Ajaxの何がうれしいのかをちゃんと認識してからマンセーしようよ、と。