タグ

関連タグで絞り込む (236)

タグの絞り込みを解除

JavaScriptとbrowserに関するraimon49のブックマーク (367)

  • IE8のレンダリングモードに関するまとめ

    Apr 12, 2008 某所で行われたIE8 Beta 1についてのセミナーで、DOCTYPEスイッチとIE8の複数のモードの話を聞いていたら、頭の中がごちゃごちゃしてきたのでざっくりとまとめてみる。 レンダリングモードの使い分け まず最初に、IE8には以下の3つのレンダリングモードがあることを覚えておきます。 IE8標準準拠モード (デフォルトのレンダリングモード) IE7標準準拠モード Quirksモード (いわゆる互換モード) IE8のデフォルトでのレンダリングモードは一番上の「IE8標準準拠モード」になります。これらのレンダリングモードを覚えたら、次にIE8が備える「IE7エミュレート機能」について知っておきましょう。エミュレート機能とは「IE7とまったく同じレンダリングをする」ための機能です。つまりこの機能を有効にするとデフォルトのレンダリングモードが「IE7標準準拠モード」に

    IE8のレンダリングモードに関するまとめ
    raimon49
    raimon49 2009/03/09
    IE8は3つのレンダリングモードを持つ。JavaScriptでdocument.documentModeを参照すると、現在のレンダリングモードが判る。
  • JavaScript変数読み書きのパフォーマンス比較、高速化テクニック | エンタープライズ | マイコミジャーナル

    NCZOnline "Professional JavaScript for Web Developers"、"Professional Ajax"などの書籍の著者でありSpeed up your JavaScriptシリーズを公開したNicholas C. Zakas氏が再び興味深い記事をブログで公開した。JavaScript variable performanceだ。WeブラウザごとにJavaScriptにおける変数へのアクセスの時間を計測してまとめている。 JavaScriptパフォーマンスの高速化手法に『外部変数を使うのではなく可能な限りローカル変数を使う』というテクニックがある。これは識別子の検索がローカル変数から実施されるためで、外部変数を使うよりもローカル変数を使う方が検索が短い時間で終わるため結果的に処理時間の短縮につながるというものだ。1度以上外部変数を使うなら、ローカ

    raimon49
    raimon49 2009/02/23
    >すでに登場している、またはこれから登場が計画されている最新のWebブラウザでは外部変数へのアクセスも高速化されることになりそうだが、最大シェアを誇るIE7やIE8でほとんど改善がみられないことから『外部変数を使
  • はてなブログ | 無料ブログを作成しよう

    Spiral Fiction Note’s 日記(2026年4月1日〜2026年4月15日) 3月下旬の日記(2026年3月16日から3月31日分) 4月1日日付が変わってから下旬の日記をはてブに、半年前の日記をnoteにアップする。23時からの『星野源のオールナイトニッポン』と25時からの『あののオールナイトニッポン0』をリアルタイムで聴こうかなと思ったけど、派…

    はてなブログ | 無料ブログを作成しよう
    raimon49
    raimon49 2009/02/06
    naturalWidthとnaturalHeightは知らなかった。Imageオブジェクトのonloadが無難。
  • 【速報】Opera新JavaScriptエンジンCarakan発表、50倍高速化も | エンタープライズ | マイコミジャーナル

    Opera Software WebブラウザにおけるJavaScript実行性能は、Webブラウザそのものの評価に直結する機能になってきている。実装競争も加速中だ。FirefoxもSafari / Chrome (WebKit)も次期JavaScriptエンジンは現在のものよりもドラスティックな高速化が見込まれている。 主要なプレーヤとして熱狂的なファンを抱えているブラウザだが、これまでJavaScriptエンジン競争に積極的に参加していないものがあった。Operaだ。しかし4日(ノルウェー時間)、Carakan - By Opera Core ConvernsにおいてOperaの次期JavaScriptエンジンが明らかにされた。Carakanはこの数カ月の間に数名の開発者とテスタで組まれたチームによって開発された新しいJavaScriptエンジンと説明されている。 Carakanと、従来

    raimon49
    raimon49 2009/02/05
    ますますIEの置き去りの感が。
  • diaspar.jp

    This domain may be for sale!

  • JavaScriptによるブラウザ判別の実際 - os0x.blog

    1 行でブラウザ判別を行うスクリプト (IE 用の日語紹介記事、Firefox、Safari 用の日語紹介記事) を発端に、SpiderMonkey の判別とブラウザ判別: Days on the Moon や JavaScript でのブラウザ判別 - 「仕様の盲点」ではなく、「プロパティの有無」を使う方がマシ - 2009年2月 - Blog - EOFなどの記事があがっています。 ここでは少し実際的なケースごとにサンプルコードを紹介していきたいと思います。(サンプルコードは適当に書いているので、不正確な箇所があるかもしれません。ご了承ください。間違い等ご指摘いただけると助かります。) なお、これらは汎用的なJavaScriptライブラリを使っていれば意識しなくても良いケースがほとんどです。 分岐する必要がないケース 分岐する必要がないなら、ケースとしてあげる必要はないと思われるか

    JavaScriptによるブラウザ判別の実際 - os0x.blog
  • diaspar.jp

    This domain may be for sale!

    raimon49
    raimon49 2009/02/01
    各ブラウザのプリントデバッグ方法。Operaではラッパをかまることでconsole.logで統一できる。
  • アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 : 404 Blog Not Found

    2009年01月31日01:00 カテゴリLightweight LanguagesMath アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 これなのですが.... 同じ文字列のn回繰り返しを作る最速の方法を探求してみた - muddy brown thang ちょっとした事情により、ある文字列のn回繰り返しを作る関数 (PHPでいうところのarray_repeat(), Perlで言うところの「"..." x n」、RubyPythonで言うところの「"..." * n」) を高速に実装しなければならない状況に遭遇したのでベンチマークをとってみたところ、その結果がとても新鮮で驚いたので、これを共有しつつもダメ出ししてもらえないかなーと思って晒してみることに。 なぜかもっとシンプルな奴がなかったので。 以下、比較。初期値はIEにあわせてあります。Firefox/Saf

    アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 : 404 Blog Not Found
  • [JS]わずか「12文字」でIEを判別するスクリプト | コリス

    これを利用したデモを下記に設置しました。 IEを判別するスクリプトのデモ IEであれば「This is IE.」 IE以外は「This is NOT IE.」 とアラートを表示します。 IE6/7/8beta2, Fx2/3, Op9.6, Safari3, Chrome1で試したところ正しく動作しました。 コメントには、IE8でも動作する、とあります。

    raimon49
    raimon49 2009/01/29
    等価なのかよ!
  • 同じ文字列のn回繰り返しを作る最速の方法を探求してみた - moriyoshiの日記

    注意: FF3.1b2の結果が不正確です。取り直したのはこちら。 ちょっとした事情により、ある文字列のn回繰り返しを作る関数 (PHPでいうところのarray_repeat(), Perlで言うところの「"..." x n」、RubyPythonで言うところの「"..." * n」) を高速に実装しなければならない状況に遭遇したのでベンチマークをとってみたところ、その結果がとても新鮮で驚いたので、これを共有しつつもダメ出ししてもらえないかなーと思って晒してみることに。 あらまし JavaScriptの文字列型 (およびStringオブジェクト) はJavaのようにイミュータブルなので、こういう文字列構築を行う方法としては、以前から、+や+=演算子を用いるよりも、一旦Array()に入れておき最後にjoin()するという方法が有効だと言われていてですね、まあ確かに、文字列用メモリ領域の確保

    同じ文字列のn回繰り返しを作る最速の方法を探求してみた - moriyoshiの日記
  • AJAX APIs Playground

    Google APIs Explorer Stay organized with collections Save and categorize content based on your preferences. outlined_flag The Google APIs Explorer allows users to try Google API methods directly from reference documentation without writing code. Be cautious when using the APIs Explorer with methods that create, modify, or delete data, as it operates on real data. You can access the APIs Explorer o

    AJAX APIs Playground
    raimon49
    raimon49 2009/01/23
    各APIを試してリアルタイムプレビュー。便利。
  • フォームコントロールのデフォルト値: Days on the Moon

    WebKit のコントロール値キャッシュ対策 「日野望の会-Yabooo.org > Safari/Webkitのおせっかいキャッシュとその対策。」にコメントしたはずなのですが、いつの間にかコメントが消えているようなので推敲の上再掲。 上記のページで問題にしているのは、Safari において bfcache を無効にしていても、動的に追加したフォームコントロールの値がキャッシュされた値に書き換えられてしまうことです。これに対し、文書中のコントロールをすべて記憶し、文書のアンロード時にそれらの名前 (name 属性の値) を変更することで解決を図っています。 しかし、書き換えられるのは一時的な値のみで、コントロールのデフォルト値 (フォームをリセットしたときに設定される値) まで変化するわけではありません。ならば、コントロールが文書中に挿入されたときに、その値をデフォルト値に設定してやれば

  • 2行でJavaScriptを高速化する方法 - rand's

    id:amachangさんの 一行で IE の JavaScript を高速化する方法 - IT戦記 に対して、id:uupaaさんが http://d.hatena.ne.jp/uupaa/20081230/1230604575 でIE以外でも使える色々な方法を提案なさっています。でも、 「正直documentを_docに置き換えるの面倒><」 そこで、たかがreplace(/document/g, '_doc')の手間を惜しむ皆様のために用意した、2行でJavaScriptを高速化する方法がこちら: script全体を(function(document){と})(document)で囲む これだね! ベンチマーク uupaaさんの記事にあるB系のソースを使わせていただきました。 ブラウザ B0 B1 B2 B3 B4 B5 b6 IE 6 10281 4938 10844 4672

    2行でJavaScriptを高速化する方法 - rand's
    raimon49
    raimon49 2008/12/31
    全体を無名関数のスコープに
  • amachang の 「一行で IE の JavaScript を高速化する方法」を掘り下げてみた - latest log

    2009-11-12 ナビ子記法について追記しました 文 今日は、amachangさんの記事 http://d.hatena.ne.jp/amachang/20071010/1192012056 を 1mm だけ掘り下げ、IE 以外のブラウザでも document へのアクセスを速くする方法がないか、色々試してみます。 # 記事自体はずいぶん前に書き上げてたけど、公開するの忘れてたんだな。 C系を追加しました。C系は「ネストしたスコープからグローバル変数にアクセスするとどうなるか?」がテーマです。 試したこと 以下は様々な方法で document へのアクセス速度を計測します。 A系では、非日常的な方法で測定し、B系では実際の用法に近い形で測定します。C系では何重にもネストしたスコープから、グローバル変数にアクセスするとどうなるかを測定します。 A系 A0 は、素の document に

    amachang の 「一行で IE の JavaScript を高速化する方法」を掘り下げてみた - latest log
    raimon49
    raimon49 2008/12/30
    documentへのアクセス速度
  • オレの名は「ジェイ・スクリプト」…… - in between days

    以下、郷田ほづみの声でお読みください。 オレの名は「ジェイ・スクリプト」。20世紀最末期の「第一次ブラウザ戦争」でエース部隊に徴用され、最前線で殺戮を繰り広げた。オレたちに課せられた課題は重大だった。相手方ブラウザの殲滅。オレたちはマイクロソフト帝国の最新鋭上陸艦「IE4」に搭載され、次から次へとコードを実行した。戦いは熾烈を極めた。オレたちはどんな汚いコードでも動いた。カーソルをクマさんに変える。アイコンを点滅させる。今日のお知らせをポップアップさせる。世界時計をスクロール表示させる。それが果たして当にそのウェブページに必要なユーザビリティなのかを問うこともなかった。しかしいつしかオレたちは気づいた。敵艦「NN4」に搭載されているのもオレたちとまったく同じスクリプトなのだと。やがてオレたちが属する帝国が領土のほぼ九割を制圧するに至り、戦争は膠着状態にはいった。敵国は壊滅されたかに見えた

    オレの名は「ジェイ・スクリプト」…… - in between days
    raimon49
    raimon49 2008/12/10
    >ウェブデザインはブラウザのバグ調査と同義となっていた。 / (';ω;`)
  • insertAdjacent.js - Thousand Years

    どっかで見たことあるんですが見つからない…というわけでfxでinsertAdjacent系が利用できるものをつくりました。これ使ってdocument.writeハックするとなんか面白いことできそうです。ちなみにinsertAdjacent系はIEとOperaでは利用可能です。お持ち帰りでお願いします。 ドキュメント DOMの見慣れないメソッドHTMLElement.insertAdjacent〜 - Thousand Years ソース (function() { if('HTMLElement' in this){ if('insertAdjacentHTML' in HTMLElement.prototype){return;}; }else{ return; }; function insert(w, n) { switch(w.toUpperCase()) { case 'BEFO

    insertAdjacent.js - Thousand Years
    raimon49
    raimon49 2008/11/12
    insertAdjacent系を持たないブラウザ向けに定義する。
  • JSLitmus

    Try It Out Click "Run Tests" to see how the scope of a variable affects performance in this browser. (view the source for details) is a lightweight tool for creating ad-hoc JavaScript benchmark tests. Features include ... Single-file install (JSLitmus.js) Works on Firefox, Opera, Safari, IE, Google Chrome, and iPhone browsers Adaptive test cycles - tests take ~1-2 seconds, regardless of the operat

    raimon49
    raimon49 2008/11/12
    クロスブラウザなJavaScriptベンチツール。グラフレポート。デモあり
  • JavaScriptの高速化3 - Hashによる検索を活用することで、ドラッグをもっとスムーズに - latest log

    IE6のベンチスコアを追加 補足を追加 アイコンやウインドウをつかんでずずっと移動する。 この動作をもっともっとスムーズにするために、何ができるか考えてました。 以下はサンプルコードです。 uuClass.MyDrag = uuClass.Generic(); uuClass.MyDrag .prototype = { construct: function() { // ウインドウを包括するオブジェクト this._frame = uu.id("WindowFrame"); // ウインドウのタイトル部分でmousedownされたらhandleEventを呼び出す。 uu.event.set(this, uu.id("WindowTitle"), "mousedown"); }, handleEvent: function(evt) { uu.event.stop(evt); // イベ

    JavaScriptの高速化3 - Hashによる検索を活用することで、ドラッグをもっとスムーズに - latest log
    raimon49
    raimon49 2008/11/07
    事前に条件をハッシュで持って数値化
  • DOM操作 Samples /Core

    JavaScript ガイド:高橋 登史朗 Ajaxなど、何かと最近騒がれているJavaScriptの最新情報とその活用方法を解説します。 掲示板 取材依頼 問合せ

    raimon49
    raimon49 2008/11/05
    仕様へのリンク, ブラウザ毎の動作リスト付き
  • Webアプリ開発環境としてのSafariを知ってますか?

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) シェア競争に挑まないWebブラウザ「Safari」の登場 2008年3月、iPhoneの日登場に先駆けて、Windows版Safari 3.1が登場しました(参考「AppleWindowsにも正式対応の「Safari 3.1」リリース」)。 WebブラウザのシェアはFirefoxが健闘しつつも、いまだInternet Explorer(以下、IE)が大半を占め、多くのWebアプリケーションサービスにとって、IEへの対応が必須であると思われてきました。そんなWebブラウザのシェア競争の中へSafariが登場したことは、最初はとても異質なことに感じられました(参考「新しいWebブラウザ

    Webアプリ開発環境としてのSafariを知ってますか?
    raimon49
    raimon49 2008/10/29
    >[開発]メニューは通常のSafariそのままでは使えません。Safariの[環境設定]メニュー(Windows版では、[編集]→[設定])より、[詳細]タブを選択し、[メニューバーに"開発"メニューを表示]のチェックボックスを