2007年7月アーカイブ

DOMContentLoadedとGreasemonkey

| コメント(0)

今ごろ、まるごとJavaScript & Ajax ! Vol.1を読んでいたら、こんな記事が。

[ThinkIT] 第2回:jQueryライブラリの内部とonloadイベント記法 (2/2)
http://www.thinkit.co.jp/cert/article/0703/10/2/2.htm

通常のonloadイベントではページ内の全ての画像ファイル等の読み込みも完了してからコードが実行されるのに対し、jquery.jsはHTMLのDOM解析が完了した途端にコードを実行できるアクセラレーション機能を備えています(注4)。

おおすごいなーと。
ライブラリなしでも使いたいなーと思っていたら、

window.onload 前でも DOM 処理が可能なら通知してくれる domready.js - METAREAL
http://weblog.metareal.org/2007/07/10/domready-js-cross-browser-ondomcontentloaded/

DOM 読み込み完了のタイミングで、任意の関数を実行できるようにする JavaScript ライブラリを書いてみた。

* domready.js

mootools の同様の機能を基にしていて、単体として使いやすいように外部ライブラリへの依存性をなくし、prototype.js とも併用できるようにしたもの。

タイムリー!
激しくGJ!


で、使ってみたのですが、特定の処理をしているグリモンを入れていると、この手法で登録したイベントが動作しない現象に遭遇したのでメモ。

(function(){

document.body.innerHTML = document.body.innerHTML.replace(/hoge/g, 'hige');

})();

登録されたイベントが、DOMの再描画の際に外れる。

Greasemonkeyスクリプトは今回の手法と同じタイミング(FirefoxではDOMContentLoaded)で実行されてるのだけど、この動作を見るとページ上のJavascriptで定義されたコードの後に実行されてるっぽい。

・上記ライブラリでイベント登録
        ↓
・Greasemonkeyでdocument.bodyの書き換え
        ↓
・ブラウザがDOMを再構築
        ↓
・登録されていたイベントが解除される

という流れ。


window.onload 前でも DOM 処理が可能なら通知してくれる domready.js - METAREAL
http://weblog.metareal.org/2007/07/10/domready-js-cross-browser-ondomcontentloaded/

嬉しいことに、prototype.js にも近いうちに同様の機能を取り込もう、という動きがあるようだ。

ということなので、今後、使われることが増えそうだ。

なので、現状では、上記のような力業のグリモンをすべてのサイトに適用したりしないように注意が必要かも。


この手法の発案者

Dean Edwards: window.onload (again)
http://dean.edwards.name/weblog/2006/06/again/


参考

Ajaxian DOMContentLoaded.Next
http://ajaxian.com/archives/domcontentloadednext

戦争 - ドキュメントのロード完了に合わせて関数を実行する
http://d.hatena.ne.jp/brazil/20060105/1136404226

Vistaを使って2ヶ月雑感メモ

| コメント(0)

しばらく空きました。
けっこう充実しつつ、Blog書く余裕なく。
メモ程度ですが、気の向いたときに更新します。


Vistaを使って2ヶ月雑感メモ。
使用マシンは、Panasonic CF-Y7。
Windows Vista Business。


・萌ディタが動きません><

↓こうしたら動いた

Twitter / AUSGANG SOFT: @bulkneets 互換モードXPSP2で、管理者権...
http://twitter.com/nektixe/statuses/68221762

互換モードXPSP2で、管理者権限で実行をチェック
exeファイルのプロパティ→互換タブで↑でいけました。


・セキュリテイうざい

↓切る方法

【コラム】Windows Vistaスマートチューニング (7) ユーザーアカウント制御(UAC)を無効にする | パソコン | マイコミジャーナル
http://journal.mycom.co.jp/column/winvista/007/index.html


・メモリ喰いすぎ

Aero、サイドバーなど切ってクラシック表示にしても、起動時のメモリ使用量600MBオーバー><
自分の使い方だとスワップおきまくるので、とりあえず1.5GBに増設。
ノート用のMicroDIMMが8千円。いい時代になった。


・Ready Boost

SDスロットがついてるので、Ready Boost。
↓SDHC対応ので。
4GB SDHC 150X (SD 2.0 SPD Class 6)

若干、動きがマシに。


・常用アプリで動いたもの

  • bluewind
  • eClip
  • Kbd Acc
  • ペースター
  • AutoHotkey


・非対応

  • 窓使いの憂鬱


・その他

プロファイルフォルダの場所(Firefox / Thunderbird) - えむもじら
http://level.s69.xrea.com/mozilla/index.cgi?id=profilefolder




総じて言うと、別にサポートさえあるならWindows2000でもいい。
でも店頭では、ほとんどVistaマシンしか選択肢がない。
使い勝手は若干、変わってるけど設定次第では、それなりにXPから移行できる。
でも、メモリ1GBは絶対必須。快適に使うには2GBは欲しいかも。

このアーカイブについて

このページには、2007年7月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年6月です。

次のアーカイブは2007年8月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ