タグ

DOMに関するhachiのブックマーク (2)

  • [DOM] Rangeを作りすぎて激重になった話|TechRacho by BPS株式会社

    DOMの規格にはRangeというクラスがあります。ドキュメント上の選択範囲などを表すのに便利なクラスです。 ついさっき、このクラスにまつわるパフォーマンス問題を解決したので記事に残そうと思います。 removeChild()が重い? とあるDOM操作を行う処理のパフォーマンスが悪い、というチケットが立てられたのが発端でした。 最初にその部分を実装したのが私で、そこまでチューニングをしっかりしていた訳ではなかったのでまあそんなこともあるかな、と思いながらとりあえずパフォーマンス計測を行ってみたところ、appendChild()が実行時間の9割以上を占めているという結果でした。 appendChild()がなんでそんなに遅いんだろう? appendChild()は親ノードの子のリスト末尾に1個ノードを追加するだけの処理です。普通に考えてこれだけではそこまで遅くなるとは思えない。 appendC

    [DOM] Rangeを作りすぎて激重になった話|TechRacho by BPS株式会社
  • JScriptでXMLを操作するスクリプトをNode.js+xmldomに移植する|TechRacho by BPS株式会社

    はじめまして。Glx64xと申します。 突然ですが、JScript+MSXMLって便利ですよね! XMLをちょっといじりたいとき、Windows標準機能だけでJavaScriptの文法でお手軽にDOM操作ができるのは非常にありがたいです。 Wineが入っていれば、Wineにもcscript.exeとjscript.dll(SpiderMonkeyベースらしい)が同梱されているため、Windows以外の環境でも割と動いちゃいます。 しかし、そんなJScriptも今や古い技術UTF-8のような文字コードは扱いにくいのが現状です。 また、もしこれをサーバー上で使う場合、WindowsサーバーならまだしもLinuxサーバー上でWineを動かすのは抵抗があります。 そこで、今回は簡単なスクリプトを例に、JScriptで作成したスクリプトをNode.js+xmldomに移植してみたいと思います。

    JScriptでXMLを操作するスクリプトをNode.js+xmldomに移植する|TechRacho by BPS株式会社
  • 1