タグ

DOMに関するmut00tumのブックマーク (9)

  • [フロントエンド] ブラウザレンダリングの仕組みを理解して、ブラウザに優しいJavaScriptを書こう - YoheiM .NET

    [フロントエンド] ブラウザレンダリングの仕組みを理解して、ブラウザに優しいJavaScriptを書こう こんにちは、@yoheiMuneです。 ブラウザのレンダリングの仕組みはHTML5 RocksやHow browsers workで詳しく解説されてきました。しかしそれらはとても詳細で、読破して理解するのは大変です。 今回のブログでは手軽にレンダリングの概要を理解できるように心がけました。またより詳しく学べるようなリンクも記載しました。 そしてブラウザのレンダリングの仕組みを理解した上で、どのようなJavaScriptを書くべきかについても記載しました。 目次 ブラウザのレンダリングの仕組み この章では、HTMLCSSが読み込まれてから画面に表示されるまでの間に、ブラウザがどのような処理を行っているかを説明します。 ファイル読み込みから表示までの一連の流れは以下図の通りです。 [1]

    [フロントエンド] ブラウザレンダリングの仕組みを理解して、ブラウザに優しいJavaScriptを書こう - YoheiM .NET
  • レンダリング ツリーの構築、レイアウト、ペイント  |  Articles  |  web.dev

    レンダリング ツリーの構築、レイアウト、ペイント コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 CSSOM ツリーと DOM ツリーを組み合わせてレンダリング ツリーを作成し、表示可能な各要素のレイアウトを計算し、画面にピクセルをレンダリングするペイント プロセスへの入力として使用します。これらの各ステップを最適化することは、最適なレンダリング パフォーマンスを実現するうえで重要です。 オブジェクト モデルの構築に関する前のセクションでは、HTMLCSS の入力に基づいて DOM ツリーと CSSOM ツリーを構築しました。ただし、どちらもドキュメントのさまざまな側面をキャプチャする独立したオブジェクトです。1 つはコンテンツを記述し、もう 1 つはドキュメントに適用する必要があるスタイルルールを記述します。この 2 つを統合して、ブラウザが画面上

    mut00tum
    mut00tum 2017/01/24
  • リアルな DOM はなぜ遅いのか - steps to phantasien

    これは VirtualDOM Advent Calendar 2014 に勝手に参加する記事です。 あたたかい春の昼下がりのこと、あるブラウザベンダの社内を不穏な噂が駆け巡った。 「React.js なるライブラリ、どうも仮想 DOM というやつのせいで速いらしいぞ」 もうリアルな DOM はお役御免、ブラウザも商売上がったりか・・・。雇用に不安を覚える人(私)がいる一方、 そのアイデアをとりこんでブラウザの DOM を速く出来ないかと考える人たちもいた。 仮想 DOM はなぜ速いのか。誰かのつてを辿って React.js チームにおいでいただき、速さの秘密をテックトークしてもらう。 イミュータブルなデータ構造による単純化、非同期適用による処理のバッチ化、差分アルゴリズムによる副作用の最小化… いくつかのアイデアはブラウザからはどうにもならないが、たとえば非同期化なんかは形は違えどブラウザ

  • GitHub - requirejs/domReady: An AMD loader plugin for detecting DOM ready

  • DOMのまとめ - Qiita

    DOMとは、HTMLドキュメントやXMLドキュメントをプログラムから利用するためのAPI。 DOMではHTMLドキュメントやXMLドキュメントを「オブジェクトのツリー状の集合」として取り扱う。このツリーをDOMツリーと呼ぶ。 DOMツリーの一つ一つのオブジェクトはノードと呼ばれる。ある1つのノードから他のノードを参照する時は、親ノード、子ノード、兄弟ノード、先祖ノード、子孫ノードなどと呼ぶ。 DOMの仕様は、Level1〜3がW3Cにより定義されている。 タグと要素とノード タグ (文書構造を指定するためのマークアップとして記述する文字列) 要素とノード (要素とノードは継承関係 ノードがスーパータイプ) DOM操作 [なぜやるのか] インタラクティブな機能 ある特定のDOM操作を選択しそのDOMの内容や属性を書き換えたり、新しい機能のDOM要素を作成したりして、ユーザーに視覚的なフィード

    DOMのまとめ - Qiita
    mut00tum
    mut00tum 2016/03/16
  • Mithril.jsでBMSを実装してみた話 - undefined

    概要 以前cocos2d-JSで作ったbmsjsをDOMベースでmithril.jsで実装してみました。 以下で遊べます。降ってくるのは全部div要素です。 デモ http://bokuweb.github.io/bmsjs-ithildin キーは白鍵が左からZ,X,C,Vが、黒鍵が左からS,D,FがターンテーブルにはBがアサインされてます。 ソース github.com なんでわざわざDOMで・・。 当然パフォーマンスを考えればWebGL使えって話しなんですが、以下の理由により試してみました。 すべてをcssでスタイリングしたかった 勉強のため、また、どれだけ動くか試したかった すべてをcssでスタイリングしたかった もともとユーザにテーマを作ってもらいたいと思い、cocos2d-JS版の時もjsonで設定できるようにスタイル部分を切り出そうとしていたんだけど、これがかなり辛かった。す

    Mithril.jsでBMSを実装してみた話 - undefined
  • ライブラリを使わない素のJavaScriptでDOM操作 - Qiita

    jQueryやその他ライブラリを使わない、素のJavaScriptでのDOM操作関連をまとめてみました。 要素の検索 //id指定 document.getElementById('id'); //class指定 document.getElementsByClassName('class'); //タグ指定 document.getElementsByTagName('div'); //cssセレクタで指定 document.querySelector('#main .posts h1'); //最初の一つを取得 document.querySelectorAll('a'); //すべて取得 //親要素 element.parentNode; //子要素 element.firstElementChild; //最初の子要素 element.lastElementChild; //最後の

    ライブラリを使わない素のJavaScriptでDOM操作 - Qiita
    mut00tum
    mut00tum 2015/12/11
    ライブラリを使わない素のJavaScriptでDOM操作
  • 動的に追加されるDOM要素に対応する方法あれこれ - Qiita

    Chrome拡張を作っていると,最近のモダンなWebサイトが後から動的にDOM要素を追加してきて困ることがある.毎度対処方法をぐぐっているので,ここにまとめておく. 追加される要素にイベントハンドラを付加したい jQueryのonメソッドにselectorを渡すことで,あとから動的に追加された子要素に対してもイベントを発火することができる. liveメソッドでも同様のことが出来たが,1.7で廃止された. $("#parent").on("click", ".child", function(){ console.log("click");}); $("#parent").append("<span class='child'>Click Here</span>"); 要素が追加されたことそのものを検出する DOMNodeInserted: 非推奨 要素が追加されたときに発火するDOMNod

    動的に追加されるDOM要素に対応する方法あれこれ - Qiita
    mut00tum
    mut00tum 2015/04/28
    動的に追加されるDOM要素に対応する方法あれこれ
  • DOM4

    2012 年 4 月 5 日付 W3C 草案 このバージョン: http://www.w3.org/TR/2012/WD-dom-20120405/ 最新バージョン: http://www.w3.org/TR/dom/ 最新編集草案: http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html 前のバージョン: http://www.w3.org/TR/2012/WD-dom-20120105/ http://www.w3.org/TR/2011/WD-dom-20110915/ http://www.w3.org/TR/2011/WD-domcore-20110531/ http://www.w3.org/TR/2010/WD-domcore-20101007/ 編集: Anne van Kesteren (Opera Softwar

    mut00tum
    mut00tum 2015/04/28
    DOM4
  • 1