タグ

ブックマーク / jintrick.net (4)

  • ウェブブラウザなんかに気を遣わなくてもいい理由 (agenda)

    いつの間にか2009年になってしまった。 IE6に気を使わなくてもいい理由とか「そういう系」 の話を聞くと、なんで非営利個人サイトが自分の嫌いなウェブブラウザなんかに一々気を遣わなきゃならないんだとか思う。もちろん気を遣うのには色々理由があるだろう。だが「気を遣わなくてもいい理由」というのもあっていいんじゃないか。そう思ってだらだらと悪文を書いてみた。当に悪文だからまとまりはないよ。 相手にしていられないほど膨大な種類の「ウェブブラウザ」 この文脈においてはウェブブラウザではなく、所謂レイアウトエンジンやHTMLパーサの種類を把握すべきだろう。たとえばSleipnirもfubも、同じMSHTML.dllを利用しているなら一つとしてカウントできる。 ウェブページのレイアウトエンジン レイアウトエンジン等の名称主なバージョン(2009年1月現在)応用しているプロダクト他

  • 文書ツリーを多数回変更するときはDocument Fragmentを経由する (agenda)

    「文書ツリーを多数回変更するときは、直接行なわずにDocument Fragmentを経由してくれ」という話。 一度DOMの実装を書いてみるなり、書こうとしてみるなりすれば分かる。DOM文書ツリーの変更、特にHTML文書におけるそれがどれだけの要素に影響を与えるかが。Document Fragmentの何が良いかといえば、例えば「View」から切り離されていることが挙げられると思う。DOM実装に依存するし想像でしかないけれども、文書ツリーに直接何らかのノードを加えたり削除したりすると、表示スタイルの計算にリソースを多少なり消費するが、Document Fragment中のノード群を操作する限りスタイルは関係ない。操作が完了した後に実際の文書ツリーに一回だけ変更を加えるなら、スタイルの計算も一回ですむ。文字列連結を何度も繰り返すか、それとも文字列の配列を一回だけjoinするかの違いを連想して

    tsukkee
    tsukkee 2008/10/13
    この文脈でPiroさんを非難する意味がわからん
  • Google検索結果をリキッドマルチカラムで一望し、次の検索結果を先行読み込みして高速に表示し、かつ履歴で戻れるGreasemonkeyスクリプト (agenda)

    Google検索結果をリキッドマルチカラムで一望し、次の検索結果を先行読み込みして高速に表示し、かつ履歴で戻れるGreasemonkeyスクリプト 注:Googleの仕様変更に伴い、このスクリプトは形骸化している。修正版はMulticol Google Search (agenda)で公開している。 Googleをマルチカラム環境に最適化する (agenda)は、10分かそこらで書いた適当なスクリプトだったのでいつか書き直そうと考えていたが、暇を見つけて終わらせたので公開しておく。今回Stylishやユーザースタイルシートは使わず、Greasemonkeyのみで動作するようにした。googlesearchutility.user.js。 スクリーンショット 留意点など 訳あってwww.google.comでしか履歴は動作しない。www.google.co.jpでも基的に動作はするが、そこ

  • Javascriptのイテレータ備忘録 (agenda)

    イテレータについてはHawk's Laboratory » JavaScript 1.7の新機能が詳しいけれども、一応自分用のメモとして残しておく。 Javascriptにおけるイテレータは抽象クラス様のオブジェクトであり、nextメソッドを持つことだけが要求される。ちなみにJavascriptといったらここではJavascript1.7(以下略)。 次のようなコードを考える: for each (let 変数 in オブジェクト){} for (let 変数 in オブジェクト) {} for each文、for in文におけるループでは、そのオブジェクトの__iterator__プロパティが(あれば)callし、それをイテレータとして利用する。ループ毎にそのnextメソッドがcallされその戻り値が変数に格納される。nextメソッドがStopiteration例外を投げると暗黙的にca

  • 1