ソースはたったこんだけ。 function loadCss(href, check) { if(typeof(check) == 'undefined') check = true; var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = href; if(check) { var links = head.getElementsByTagName('link'); for(var i = 0; i < links.length; i++) { if(links[i].href == link.href) return false; }
WEB上で動くプレゼンテーションを作る際に便利なjQueryプラグイン「Awkwa... 次の記事 ≫:2011年5月9日 管理人のブックマーク Microjs: Fantastic Micro-Frameworks and Micro-Libraries for Fun and Profit! ポイントを絞った小さなフレームワークが色々ある「Microjs」。 jQuery等のJavaScriptフレームワークは便利ですが、全く使っていない機能もインクルードしてしまっていたりします。 圧縮すれば大したサイズじゃないよという場合(圧縮版で32KB)も、パフォーマンスにこだわりたい場合は不要なコードをパースさせないのが一番ですね。 microjsは、使いたい物だけ使えるように多数の機能があえて分割されて公開されています(すべて5KB以下)。 どんなものがあるというと例えば、以下に並べてみます
2011/05/08 JavaScriptの生みの親、将来を語る 今もっともコーディングされているプログラミング言語はCでもなくJavaでもなく、JavaScriptである。JavaScriptの生みの親ともいえるブレンダン・アイク氏がJSConfの短い公演でその将来について語ったそうだ[slashdot]。彼の講演はCoffeeScriptの作者であるJeremy Ashkenasの「JS/NextとしてのCoffeScript」の土壇場で行われたそうだ。彼は、ECMA TC39によるJavaScriptの標準化に懸念を持っており、ECMAScript4での失敗を繰り返さないためにも、一般のJavaScriptプログラマにもっと関与して欲しいと思っているそうだ。開発者もブラウザに合わせて考えるよりも、CoffeeScriptを使う事で、どういった言語の機能を必要としているかを伝えることが
配列に追加するのは []+ でやってます。 (比は文字列の量に対して一次関数的ではないかもしれませんが、まあ許してください。) また意外な結果が。IE9で配列に追加するのはpush()より[]+の方が数%程遅かったので、それが影響しているのでしょうか? + : join() の所要時間比を以下に示します。(+を100とする) Firefox3.6 ... 100 : 71 Chrome10 ... 100 : 76 IE8 ... 100 : 50 IE9 ... 100 : 201 ← !? // 演算子+=で連結して代入 $('#plus').click(function(event) { var times = getTimes(); var str = ''; var d = new Date(); // 試験実施 for (var i = 0; i < times; i++) {
twihelp.me 2019 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy
JavaScriptでよく使われるコード片に即時関数というものがあります。無名関数を宣言して即実行することで、ブロックスコープの存在しないJavaScriptにおいて擬似的にブロックスコープを再現します。 var a = "global"; (function(){ var a = "local"; alert(a); //local })(); alert(a); //global 一番有名なのはこの(function(){ ... })()の形式なのですが、なぜfunctionの外側にカッコが必要なのか不思議に思ったことはないでしょうか? ためしにfunction(){ ... }()と書いてみると、Syntax Errorが発生します。 なぜfunction(){ ... }()はSyntax Errorなのか JavaScriptにはfunction文とfunction式があって、
こん**は、taiyohです。 さて、先日のsugyanのエントリ「node.jsはじめました」にて 本日2/25(金) 20:00から行われる、弊社のオンライン説明会もリアルタイム技術を駆使しています! 新卒採用企画 オンライン会社説明会 2012 | 面白法人カヤック ぜひ見に来てみて下さい! とありましたが、この説明会で僕はnode.jsを使ったリアルタイムシステムを担当し、説明会の盛り上げに携わっていました。 【何がリアルタイムか】 このイベントでは、講演をustreamにて配信しました。この時、閲覧者はこちらが用意したいくつかのアクションを実行することができます。この情報は自前のストリーミングサーバを経由し、同じようにページを閲覧している別の閲覧者のflashで表示されます。弊社デザイナの林(@barimi)の登場時、スゴイ数のアクションが送信され、かなりわいわいやっていた様子が
はじめまして。コミュニケーションサービス開発部の澤と申します。コーヒーとカレーをこよなく愛する新卒2年目の新米エンジニアで、弊社Webのフロントエンドを主に担当しています。最近はmixiスマートフォン版(mixi Touch)の開発にも精力的に取り組んでいます。 さて、本日はPC版のmixiで1つの機能をリリースいたしました。ファイルをWebブラウザにドラッグ&ドロップするだけで写真をmixiフォトにアップロードできるもので、HTML5 File API※1を採用しています。本記事ではこの機能について色々とお話をしたいと思います。 なにこれ? 以下では、ドラッグ&ドロップによるアップロード機能を「本機能」と呼びます。 百聞は一見にしかずです。本機能のプロモーションムービーがありますので、まずはこちらをご覧ください。 動画では下記を説明しています。 従来のアップロード方法からドラッグ&ドロッ
February 02, 2010 JavaScript で Png画像のエンコード (PngEncoder) PNGエンコーダ:ループ内で関数呼び出しを使いまくった低速バージョンを公開 使い方: PngEncoder.encode(_arrayData,_intWidth,_intHeight) _arrayData : 数値配列:1ピクセルをRGBAの順に4つの配列要素で表し、全要素はByte値の取り得る0-255の数値を格納(2/12追記:単純に並べるのではなく、スキャンラインについて知っておくこと) _intWidth : 画像の幅 _intHeight : 画像の高さ // ループ内で関数呼び出しを多用した低速バージョン。 PngEncoder = new (function() { // private constants var _SIG=[0x89,0x50,0x4E,0x
ES5からFunction.prototype.bindが入りました. これに準ずるものは数々のFrameworkで提供され続けてきたので, あまり馴染みの無さはないのではないでしょうか. このFunction.ptototype.bindは実はとても面白いので. 結論から言えば, Function.prototype.bindはtarget functionのConstructに完全に移譲するのでConstructorの引数束縛が行えます. またConstructor callに対して配列を渡すapply形式のものといったapplyConstructorやcallConstructorをbindを使って実装することができます. 基本 Function.prototype.bindは基本的にはthisとargumentsに特定の値を束縛する関数です. bindは第一引数にthis, 次から
CMでやってるChromeの紹介ムービーをなにげなく見てたら、ちょっとおかしいことに気づきました。最先端ブラウザであるChromeの、その紹介サイトとなれば当然HTML5対応してるはず、と思ってみて気づいた点です。 HTMLソースを眺めてみて、気づきました。これがナウいソースなのかと関心する点が多々ありますが、2点、すげぇ!と思ったところがあるので紹介します。 1.Google Analyticsのタグが最新版を超えてる GAの貼り付けタグが公式のものではないことがまず1点目の違和感です。通常はこんな感じでゴチャゴチャしてるんですが //before <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXXXXX-1']); _gaq.push(['_trackPag
Flash界のコーディングゴッドGSkinnerがJavaScriptのCanvasをFlashライクに使うライブラリを作った。 この人、確か僕と同い年ぐらいかちょい下なんだよね。。。会う度に超へこむ。 画期的というか、確実にかゆいところに手が届くライブラリで、下みたいなのがサクサクJSでいける。あいかわらずソースは美しいし、ドキュメントも完備。 game sparkles rollover localToGlobal globalToLocal sprite sheets ざっと見た感じFlashでいうところの、Stage, MovieClip, Sprite, Bitmap, Matrix, Stage, EnterFrameとキーフレームアニメがサポートされてる感じ。これは素敵。 このライブラリそのものもスゴいんだけどポイントは、GSkinnerがJSやりだしたってことは、365日以
via: 米規制当局、FlashクッキーによるトラッキングについてAdobe と協議 ブラウザ標準のcookie以外に、FlashではFlashクッキー(Local SharedObject)を持つことができます。Flashゲームの得点スコア保存用だったり、クリップボードへのコピー用だったり、アプリケーションの操作履歴を管理して「戻る」「進む」にあてたり、という使い方が一般的だったんですが、広告会社はそこに目をつけました。 SharedObjectで保存できる容量は100KB(ユーザーの同意を得れば1MB,10MB,制限なしという設定も使える)。最低でもcookieの25倍に当たります。ここを広告のトラッキングクッキーとして使えば、消されにくいし情報を隠ぺいできるし...と、悪どい使い方を考えた広告屋がいたんですね。 僕も2年前に、サードパーティFlashクッキーによるクロスドメイン・クロ
2010年11月26日18:00 カテゴリTipsLightweight Languages javascript - ブログパーツ/ウィジェット開発者におねがい JavaScript: The Good Parts Douglas Crockford / 水野貴明訳 [原著:JavaScript: The Good Parts] たった二つです。 名前空間を一つだけ用意して、それのみを使うこと 設定はグローバル変数ではなく、引数渡しにすること そうでないと、導入したサイトで変数衝突が起こる公算が大きくなります。 それが実際に発生したのが、右の画像です。表示がぐしゃぐしゃになっています。 問題を起こしたのは、以下のsnippetでした。 <script type="text/javascript" src="http://blogchart.jp/js/blogparts.js"></sc
Twitterのツイートをウェブサイトやブログに表示するには、ウィジェットを貼り付ける方法がありますが、JavaScript × JSON を使ってTwitterのツイートを表示する方法も。 こんな感じに。 やり方は、Twitterのユーザー名と表示件数 (count) を設定した http://twitter.com/statuses/user_timeline/ユーザー名.json? callback=twitterCallback2&count=5 を含む以下の三行のソースを貼り付けるだけ。 <ul id="twitter_update_list"></ul> <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script> <script type="text/javas
[JS]Canvasを使って、リアルタイムにヒートマップを描くスクリプト -real time heatmap real time heatmap デモ [ad#ad-2] デモの画像の上でマウスを動かすと、その動いた量に伴いカラーがブルー、グリーン、イエロー、レッドとマウスの移動し滞在した量をヒートマップとして生成します。ヒートマップのデータはエクスポートも可能です。 また、iPhoneのシングルタップもサポートしている、とのことです。 スクリプトはjQueryなどの他のスクリプトは依存せず、下記のようになります。 JavaScirpt /* Copyright (c) 2010, Patrick Wied. All rights reserved. Code licensed under the BSD License: http://patrick-wied.at/static/li
すでに若干乗り遅れてる感じもしますが、読み仮名の自動入力がはやっているようなので乗っかってみます。 サンプル (IE7,FF2,safari3.1で動作確認) お気づきの方もいるかもしれませんが、これまでの記事(1,2,3)はこのライブラリを作る過程で発見したことのまとめです。 で、このライブラリも結局は読み仮名の自動入力なんですが、今までのautoKana.jsと違ってsetInterval(or setTimeout)を使用していません。 ではどのようにして読みを取得しているかというと、IE,safariではkeyup、FFではtextイベントを使用してキー入力を取得し、その時点のひらがなから読みを認識しています。 この方法だとtimerをまわす必要がないのでブラウザの負担も軽く、高速でキーを入力されても取りこぼしもなく、イベント駆動なのでコードが短くなる等の利点があります。 ただ、o
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く