タグ

JavaScriptとjavascriptに関するpocotan001のブックマーク (518)

  • scriptのdefer/asyncを理解し、ページの高速化方法を探る | ゆっくりと…

    Yslow ルールでは、スクリプトはページの最後尾、つまり </body> 直前に置け、と言っています。なぜなら、スクリプトの読み込みや実行により、他のページ要素の読み込みやレンダリングがブロックされてしまうからです。 一方、古くは IE4 の時代から Microsoft はこの問題に対処するため、defer 属性という独自の解決策を実装してきました。これは HTML 4.01、XHTML 1.0、1.1 で仕様として採用され、HTML5 にも発展する形で引き継がれています。 IE 以外のブラウザも既に対応されており、IE の独自仕様という色合いが濃かった従来と異なり、これからは広く利用されていくのではないかと思います。 下のビデオは、スクリプトの位置と defer 属性のあり/なしによる、ページの読み込み/表示速度の違いを Pagetest.com でテストしてみたもので、明らかな差異が

  • 顔文字でJavaScript - 葉っぱ日記

    顔文字のJavaScriptを生成する aaencode を書いた。こういう↓JavaScriptが簡単に生成できる。 ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o]; (゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)= (゚Д

    顔文字でJavaScript - 葉っぱ日記
    pocotan001
    pocotan001 2011/01/24
    すごいなー、変態記法の申し子だ
  • aaencode - Encode any JavaScript program to Japanese style emoticons (^_^)

    aaencode - Encode any JavaScript program to Japanese style emoticons (^_^)

    pocotan001
    pocotan001 2011/01/24
    素晴らしい(゚Θ゚)
  • constructorとprototype.constructorがわからなくなった - 宇宙野武士は元気にしているか

    constructor(プロパティ)とprototype.constructor(プロパティ)は 別物だと思っていたけど、やっぱり同じ物だとおもいつつもやっぱり違うのか?と よくわからなくなってきた。(特に継承とかしようとした場合に) ので少し調べてみた。 (ちなみにSpiderMonkeyをつかって試している) constructorプロパティとは サイによると、 オブジェクトの初期化で使用されたコンストラクタ関数を参照する。 とある。 var a = new Array(); a.constructor == Array;//>trueになる 確かに、Arrayオブジェクトでnewした変数aのconstructorプロパティは Arrayになっているようだ。 じゃあ、Arrayのconstructorプロパティってなんだろ? これで気になったのは、newしてないArrayオブジェクト

    constructorとprototype.constructorがわからなくなった - 宇宙野武士は元気にしているか
    pocotan001
    pocotan001 2011/01/24
    うがー、見てると頭痛い
  • CSS/JavaScriptのAsynchronous Loadingをめぐる熱い論議 | ゆっくりと…

    2011年2月21日 追記 $script も新規参戦してきました。高々 643 バイトで、非同期読み込みや依存性の制御などができるそうです。いずれ紹介したいと思います。← 「新参の超軽量JavaScript非同期ローダー3種を徹底比較」で紹介しました! これらのローダーのうち、LABjs の作者が 「On Script Loaders」 で HeadJS と ControlJS について意見をしていて、面白そうです。そのうち日語訳や各ローダーの比較を行ってみたいと思います。 ローディング・スクリプトをめぐる議論 さてさて、エントリーの題は前述のローダーではありません。「Prefer asynchronous resources」 や Google Analytics のスニペット に示されているような、ローディング・スクリプトの変遷をまとめてみます。 これらのスクリプトのごく初期は

    pocotan001
    pocotan001 2011/01/24
    勉強になった
  • jsのオレオレ演算子 - latest log

    jsのオレオレ演算子といえば、 Boolean値に変換する !!arg 0又は1に変換する +!!arg 小数点を切り落とす arg|0 や arg >> 0 などがありますが、若干分かりづらいので、初心者の方にはおすすめできません。 http://jsdo.it/uupaa/9YFT で実行できます。 uu.ready(function(uu, doc) { var arg = 1.23; uu.log(" !!arg = @", !!arg); uu.log("+!!arg = @", +!!arg); uu.log(" arg|0 = @", arg|0); uu.log("arg>>0 = @", arg>>0); });

    jsのオレオレ演算子 - latest log
  • script要素のdefer属性の実装 - Thousand Years

    <!--HTMLでは--><script defer></script> <!--XHTMLでは--><script defer="defer"></script> script要素にはdefer属性があって、これはdocument.write系がないことを条件にscriptの中身を後で評価することによってページのレンダリングを妨げないようにするものと説明されている。ただdeferが利用されているサイトってなかなか見たこと無いうえに当にレンダリングを妨げないか興味があったので調べた。 実装されているブラウザ 調べた範囲ではIE(SafariとKon〜は調べてない)のみ。あとIEはscript要素にdefer属性をつけるとinnerHTMLに代入したscriptが実行されるという仕様がある。 // 以下は動かないので駄目 hoge.innerHTML = "hoge<script>aler

    script要素のdefer属性の実装 - Thousand Years
  • hover時の背景画像ちらつきに対処する - Archiva

    Make a note of it: Web tech, montaineering, and so on. ナビゲーション等で画像を切り替えたい場合、CSSを用いて a:hover の背景画像をずらしたり消したりして実現する方法が良く取られます。この時、Internet Exploler 6 において背景画像のちらつき(砂時計のアイコン表示)や動作の遅延が発生する(ローカルでは確認しにくいので、注意)。サンプルは以下。 »IE6 background flickr この問題はIE6固有の問題であり、他のモダンブラウザやIE5等では発現しない。背景画像のキャッシュに関わる問題。hover時のbackgroundに変更を加えると再読込が起こるようです。したがって転送速度やファイルサイズによって程度が変わる。ブラウザの設定によっても回避できるみたいですが、Web屋としてそこはスルーしたい。解決

    pocotan001
    pocotan001 2011/01/20
    素晴らしい
  • そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog

    弁当生活始めました。agoです。 以前のjavascriptの開発はサーバサイドと同じPGが開発することが多く、機能をファイル単位で分割してそのページで必要なファイルのみを読み込むと言うことが行われていました。 ただ、最近はサーバサイドとクライアントサイドの分業が進んだことや表示速度の兼ね合いもあり、単一ファイルに全体を記述しサーバサイドでは全ページでその一ファイルのみを読み込むような形になることが多いです。 単一ファイルの利点としてはサーバサイドの実装に依存せずに任意の機能を追加できることがありますが、欠点として機能毎の切り分けが難しくなると言う点があります。 jQueryを使用して$('.selector')で切り出す方法もありますが、マークアップの全体像を正確に把握できていないと不要なページで間違って実行されてしまう危険性もあります。 そこで、以下のようなJSを先に読み込み、各URL

    そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog
  • body要素のid属性またはclass属性をJavaScriptのディスパッチャーに使う - あと味

    最近、実案件で実験していたのですが、仕様が固まってきたのでメモしておきます。 JavaScriptを特定のページで実行したいというニーズがあるけれど、head要素内に書くとか、body要素内に書くとか、そのページ限定でscript要素を使って読み込むとかいろんな方法があります。 ただ、コードが散らばると管理が面倒なので、一つのファイルにまとめたい派です。まとめれば、HTTPリクエストが減るし、キャッシュもされるし、何かと都合が良かったりします。 ひとつにまとめると、「そのページで実行するスクリプト」を一つのファイルから切り分けないといけなくなるので、ディスパッチャーが必要です。 @kyo_ago さんの「そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog」という

  • 通常の数値かどうかはisNaN関数じゃなくてisFinite関数 - 三等兵

    そういえばJSはブログでは久しぶりでした。 NaNでちょっとめんどうなことになったんですが、何かなーと思ったらNumberオブジェクト(のプロパティ:追記)だったのですね。 console.log(typeof(NaN)); // number というわけでありがちなミスをしてしまいまして。数値以外ははじこうとしてこういうようなことをやってしまいました。これの前にparseIntで文字列から数値に変換し、それぞれ配列に入れたという設定。 var arr = [2, 4, 6, 12, 45, NaN, 47, 1322, NaN]; for(var i = 0; i < arr.length; i++) { if(typeof(arr) == 'number'){ // } } だめですね。うん。NaNはNumberオブジェクト(のプロパティ:追記)だもの。じゃあ数値かどうかでやろうかなー

    通常の数値かどうかはisNaN関数じゃなくてisFinite関数 - 三等兵
    pocotan001
    pocotan001 2011/01/18
    isFinite()かー、なるほど
  • kanazawa.js v1.0 〜JavaScriptコトハジメ〜(2011年2月5日開催)

    待望のメジャーアップデートセミナー kanazawa.js v1.0 〜JavaScriptコトハジメ〜 2011年2月5日開催 主催:kanazawa.js実行委員会がお送りする感動と涙のエンターテイメント!kanazawa.js は主に金沢市・石川県・北陸地方近辺の JavaScript デザイナー・プログラマによる非営利団体です。各個人のプログラミングスキルの向上を目的に、勉強会ならびにカンファレンスの開催、情報交換などを行うコミュニティを目指しています。kanazawa.js は JavaScript を利用し、スキル向上を望む方であればどなたでも参加できます。 Version 1.0の今回は「JavaScrptコトハジメ」をテーマに、JavaScriptを触ったことない人、わけもわからぬままJSプラグインを入れてとりあえず実装している人などのJavaScript初心者を対象とした

  • Home

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Home
    pocotan001
    pocotan001 2011/01/06
    しずちゃん
  • 5分で分かる JavaScript を知らない人が JavaScript の便利さを学べる記事を書いたよ - ginpeiのブログ

    JavaScript を知らない人に JavaScript の話して欲しいと言われる夢を見たのでブログ書きました。*1 難しい話は抜きにして JavaScript は <script> と </script> で囲えば動きます。*2 HTML をコードレベルで編集できるサービスなら、設定は一切不要です。 <script> JavaScriptのコード </script> 拡張子にも制限はありません。最終的にHTML文書として出力されるのであれば、htmlでもphpでもcgiでも構いません。なおフレームの代わりにPHPを使うという為になる記事があるのですが、ここでは関係ないので読むのは後ででよいです。 ついでに JavaScript を少しでも使えるようになれば、こんなことができるという一例を紹介します。 コピーライトの西暦を自動更新 JavaScript を使えばページフッタの西暦も自動更

    5分で分かる JavaScript を知らない人が JavaScript の便利さを学べる記事を書いたよ - ginpeiのブログ
  • jmblog.jp - preventDefault() と stopPropagation()

    先日公開した「投稿スラッグ(Post slug)が空白なら警告してくれるWordPress用Greasemonkeyスクリプト」を開発しているときに、JavaScriptでのイベントのキャンセルまわりで見事にハマってしまいました。そのときに調べてわかったことをまとめてみようと思います。(間違いがあれば是非ご指摘ください!) やりたかったこと WordPressの投稿画面で「公開(Publish)」ボタンをクリックしたときに、「投稿スラッグ(Post slug)」のテキストボックスに値が入っていなければ、確認ダイアログを出す。そこで「キャンセル」ボタンが押されたら、フォームの submit を中止する。 最初に思いついた方法 まず頭に浮かんだのは、submit ボタンに対して HTML でイベントハンドラを記述するという、とても古典的な方法でした。

  • IEでのonBeforeUnload の挙動 | Inside ASCADE

    Javascript で onBeforeunload を利用したときに IE の挙動が直感的な操作とは異なったため、調査をすることにしました。 何が直感的ではなかったかというと、<a> タグの href で javascipt を呼び出した場合に location を変化させない(つもり)にもかかわらず、onBeforeunload イベントが発生したことです。ちなみにFirefoxではこの場合にイベントは発生しません。 ちょっと調べたところ、MSDN に仕様があったので、挙動確認のサンプルを作成してみました。 各サンプルの実行はご覧のブラウザをIEに変更していただき 各sampleのTEST をクリックしてください。 MSDN onbeforeunload site : http://msdn.microsoft.com/en-us/library/ms536907.aspx

  • Javascript/配列操作 - 俺の基地

    先頭を削除し先頭を取得する var hoge = [1,2,3,4]; var piyo = hoge.shift(); //[2,3,4]; alert(piyo); //1 破壊的 ▲ ▼ 末尾を削除し末尾を取得する var hoge = [1,2,3,4]; var piyo = hoge.pop(); //[1,2,3] alert(piyo); //4 破壊的 ▲ ▼ 末尾に追加する var hoge = new Array(); hoge.push('aaa'); 破壊的 実はこのメソッド var hoge = []; hoge.push('aaa', 'bbb', 'ccc'); 引数を何個もとって連続で追加することができる。 ▲ ▼ 配列を結合する(破壊的) 「末尾に追加する」pushは引数を複数個とれるので、こいつを応用すると破壊的に配列を結合することができる var h

  • IE8 で実装された Selectors API とは何か? - IT戦記

    はじめに IE8 には Selectors API という新しい仕様が実装されました。 ということで、今後 DOM 操作 API の主流になるであろう Selectors API についてまとめておきます。 Selectors API が使えるブラウザ 2008 年 3 月 6 日現在の一覧 WebKit Build Archives | WebKit (開発版の Safari) Windows | Official Site for Microsoft Windows 10 Home & Pro OS, laptops, PCs, tablets & more (IE8 の Beta 版) Selectors API とは Selectors API とは W3C で定義された仕様です。詳細に関してはこちらをどうぞ 簡単に説明すると getElementsByTagName や getE

    IE8 で実装された Selectors API とは何か? - IT戦記
  • jsPerf: JavaScript performance playground

    jsPerf — JavaScript performance playground What is jsPerf? jsPerf aims to provide an easy way to create and share test cases, comparing the performance of different JavaScript snippets by running benchmarks. For more information, see the FAQ. Create a test case Login with GitHub to Create Test Cases

  • [JS]主要ブラウザ全てにaudio要素でMP3を再生できるようにするスクリプト -audio.js | コリス

    IE6/7/8, Firefox, Operaを含む主要ブラウザ全てに、HTML5のaudio要素を使ってMP3を再生できるようにするスクリプトを紹介します。 audio.js デモページ [ad#ad-2] audio要素のサポート状況 audioはHTML5の要素で、サポートしているブラウザは限られたものとなっています。 audio要素のブラウザのサポート状況 IE9 Firefox 3.5+ Chrome Safari Opera 9.6+ また、対応している音声ファイルのフォーマットも異なり、現在音声ファイルの主流のMP3Chromeのみが対応しています(Safariも一応再生可)。 「audio.js」は、audio要素に非対応のIE6/7/8、MP3に非対応のFirefox, Safari, Operaで、audio要素を使ってMP3ファイルを再生できるようにします。 [ad