制作記録 2010/12/22

ファイルの保存は、jsだけでhtmlファイルの複製のための全データを取ることは難しい、または不可能みたいで別のアプローチにする。
2013.2.22 jQuery.ajaxでできる。こんなの⇒$.get( document.URL)

まずhtmlの雛形を、Flashで読み込んで、マーキングしてある部分を、jsからもらったデータと差し替える形にした。

続いて、閲覧用の最小限の機能で起動(1枚目)するように、動的script読み込みに書き換える。(jsを切っている場合さらに機能は制限されてトグルの操作ができない)

EDITスイッチを押して追加のjs、追加のcss、ファイル生成用のswfを読み込むかたちにする。(2枚目)
以下の記事を参考にほぼそのまま。

外部JavaScriptの動的ロード
IEメモリリークの最後の壁はAjaxのonreadystatechangeやった!!

また、上記IEのメモリリーク記事で触れている、prototype.jsの空のFunctionはここにあるやつ。
https://github.com/sstephenson/prototype/blob/master/src/prototype/prototype.js

続いてファイル一式をサーバにあげてみて、そこから編集→ローカルに保存、ローカルのファイルを開いて、エディットボタンからサーバ上のスクリプトを読み込んで再編集もできる。


一度動かないので見てみると、jsライブラリのひとつに不要な文字が入っていた。

ここまでやってみて思ったことは、Wikiのデータを独立して持てないで、表示部やエディタ(のロード部のみだけど)と一体化してしまっているので、バグフィックスやバージョンアップをスムースに済ませるのが面倒。

バージョン毎に、最小限の機能読み込み用のurlを変えておいて、編集してダウンロード保存したときには、最新のバージョンに入れ替わってる感じになると思う。

xmlで文書を保存できて、webにあるxslで加工して閲覧できるなら、随分扱いも楽になると思う。でも異なるドメインからのxslは読み込めないので、そうするとユーザがxmlに加えxslもローカルで管理しなくてちゃならなくなるのであきらめた。
xmlでレコードだけ管理する形にできるなら随分楽なのに、、、

利点は最小構成htmlひとつだけで、また、ローカルに置いてもWebに置いておいてもいいのでとてもポータブルなこと。
動作も軽快なこと。最小限の機能すらないので(^^;;