タグ

ブックマーク / reinyannyan.hatenadiary.org (3)

  • LDR のメモリ・リーク問題について - (new Hatena).blog()

    フィード一覧の全フォルダを一気に開くスクリプトを書こうと思い、ソースを読んでいたら、ある問題にぶつかりました。 ツリー表示における各ルート (フォルダ) は TreeView というオブジェクトによって表されています。そして、それらは後からの参照のためにテーブルに格納されています。 問題と言うのは、作成された全ての TreeView インスタンスが格納されっぱなしになってしまう、ということなんです。 リロードを行う度に新たに TreeView インスタンスが作成されるんですが、その際、もう使われることのない古いインスタンス (への参照) は捨てられずに残ってしまうんですね。 例えばレート表示の場合、リロード回数掛ける 6 個のインスタンスが保持されることになり、これがメモリ・リークとなってしまいます。 以下をアドレスバーで実行して確認してみてください: javascript:alert(k

    LDR のメモリ・リーク問題について - (new Hatena).blog()
    closer
    closer 2006/12/08
    か?「もしくは面接受けに来てください」
  • livedoor Reader で特定のサイトや記事の本文を非表示にする - (new Hatena).blog()

    折り畳みの自動化 フィードに全文掲載云々という問題が言われたりしますが、それとは逆に、全文掲載してくれているんだけれど、もの凄く長文かつ大量の更新が行われるような (しかも読みにくかったりする) フィードもあるのではないかと思います。 そんなフィードを、畳んだ状態で表示して読みたいものだけをブラウザを開いて読む、という方法を考えてみました。 おなじみフックです: register_hook("before_printfeed", function(feed) { var link = feed.channel.link; var fold_it = /(?:jp.rubyist.net\/magazine)/; (fold_it.test(link) ? addClass : removeClass)("right_body", "compact"); })これだけです。 ただ、これだと正

    livedoor Reader で特定のサイトや記事の本文を非表示にする - (new Hatena).blog()
  • for ループ以外での in の利用 - (new Hatena).blog()

    MochiKit で if (uri in allScripts) {みたいなテストの仕方を見て、最初意味が分かりませんでした。 そこで、まさかと思いながらも試しに alert("close" in window);としてみると、true が表示されました。 う〜ん、便利ですね。 てっきり in はオブジェクトのキーに一つひとつアクセスするためのものだと思っていたので、「キーを含んでいるかどうか」のテストに使えるとは全然知りませんでした。 有名なんでしょうか?

    for ループ以外での in の利用 - (new Hatena).blog()
  • 1