JavaScript

DevSumi2009 ブラウザJavaScript高速化JITバトル最終決戦

JavaScriptのVMを実装する上でのポイント クラスがないのをなんとかする(JS固有の問題) ハッシュ表検索+配列アクセスは遅い 仮のClassを設定する。構造が同じなら同じClassとする。 実行時に仮Classにとってイレギュラーなプロパティに代入が行われた場合は…

re:jQueryとSafariとか | 眠る開発屋blog

jQueryとSafariとか | 眠る開発屋blog Firefoxとかでは、a、b、cともにalertで表示されるが、Safariの場合、bがundefinedになる。 まぁ確かに input タグの位置は少し気持ち悪いのだが。 http://www.developer0000.jp/2009/02/04/3634/ 少しじゃなくてだいぶ…

jQuery1.3でのtriggerメソッドについて

従来は行われなかったbubbling処理が行われるようになる http://semooh.jp/jquery/cont/doc/release_1.3/ これがよくわからなかったけど多分trrigerメソッドの話だと思ったので コードを読んでみたところそれっぽい処理があった。 確認の為にデモページをつ…

若手IT勉強会 - 第7回勉強会

第7回勉強会 - 若手IT勉強会 - アットウィキ サイ本第16章 補足 16.6.2 スタイルシートオブジェクトとスタイルシートルールjQueryでつかってなかったので割愛。 http://d.hatena.ne.jp/cimadai/20090115/1232050359 ↓のplugin読むといいよ jQuery.CssRule CS…

JavaScript: The Good Parts

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 94人 クリック: 1,643回この商品を含むブログ (190件) を見る読んだ。 …

Firefox3.1のSpeculative Parsing

Firefox 3.1 のHTML投機的解釈 - 廃墟 大本の記事 Firefox 3.1で採用される高速化技術 - Mozilla Flux 読み込みとparseのみ先行してやるのであって、 実行自体はあくまでscript要素の出現順に行うので問題ない という話なのだと思う。 HTML内にJavaScriptを…

jQuery1.3 β1が出たみたいです

jQuery 1.3 beta: Sizzling and feature testing - Ajaxian 特徴としては CSSセレクタエンジンにSizzleを採用 CSSセレクタでの要素の取得が速くなる まあ自分で開発しているWebサイトなら適切にid振ったりしているだろうからあんまり効果はないのかも ブラウ…

「Erlang 30% + JavaScript 60% + 未知成分 10%」のセミナー

告知:「Erlang 30% + JavaScript 60% + 未知成分 10%」のセミナーやります - 檜山正幸のキマイラ飼育記 プログラミング言語によらない、通信基盤にもよらない、関数呼び出し(function call)とイベント配信(event delivery)が主題 Erlang編 プログラミング言…

jQuery UI Tabs覚え書き

公式サイト http://ui.jquery.com/ なお、以下の解説は1.5系前提です。 内部実装概略 tabsメソッドの対象は何か? 「$(someSelector).tabs();」を実行した時のjQueryオブジェクトはどんなDOM要素をラップしたjQueryオブジェクトか? →タブにするli要素の祖先…

若手IT勉強会 - 第6回勉強会 サイ本読書会第15章

15.1〜15.3 レガシーDOM DOM…Document Object Model。ドキュメントを構成するオブジェクトにアクセスする方法を定義したAPI。 レガシーDOM…Netscape2,3でサポートされたDOM。後にDOMレベル0として標準化。 15.1ドキュメントコンテンツの動的な生成 document.…

jQueryとGreasemonkeyの相性が素晴らしく良い件

pixiv_add-bookmark.user.js · GitHubを弄ってて実感した。 DOMツリー構築とE4X jQueryだとjQuery関数にHTML断片を文字列として渡す事でDOMツリーを構築する事が出来る。 で、Greasemonkeyのscriptが動く環境は当然FirefoxなのでE4Xを使う事が出来る。 する…

Sizzleよりもさらに速いCSSセレクタエンジン

http://jamesdonaghue.com/?p=40 It is faster2 than Sizzle by John Resig and it also is cross browser (IE included). http://jamesdonaghue.com/?p=40 John Resigが時期jQueryで使う速い新CSSセレクタエンジンを開発中という話を聞いて、 ほほーと思っ…

pixivのイラストをその場でブクマできるようにするグリモン(少しマシになった版)

pixiv_add-bookmark.user.js · GitHub クリックしてインストール修正・改良点 酷いポカのせいででやたら重いのを修正 表示して閉じてまた開くとグループが倍になってるの修正 選択済みグループがグループ一覧で強調表示されるようにした 選択済みグループ表…

pixivのイラストをその場でブクマできるようにするグリモン(超とりあえず版)

とりあえず動く版は出来たものの超とりあえず版。 pixiv_add-bookmark.user.js · GitHub クリックしてインストールここら辺の話の続き pixivのイラストをブックマークするのをブックマーク追加画面に遷移せずに行いたい - 文殊堂 なぜか$(/*何がし*/)でindex…

The Performance of Dynamic Site (id:amachang)

日本Javaユーザーグループ 概要 JavaScriptの誤解 重くしている犯人 プロファイラ JavaScriptの誤解 JavaScriptは遅い 速いです 重くしている犯人 DOM DOMをフェーズに分けて考える JavaScriptとコンポーネント(C++)との通信(取得) DOMノードの追加、値の変…

なぜか$(/*何がし*/)でindex:0に全件分のa要素が入ったjQueryオブジェクトが返ってくる件調査(jQuery AOPを使ってみた。)

pixivのイラストをブックマークするのをブックマーク追加画面に遷移せずに行いたい - 文殊堂で、 イラスト表示画面(http://www.pixiv.net/member_illust.php?mode=medium&illust_id=${illust_id})から、 グループ一覧画面(http://www.pixiv.net/bookmark_gro…

jQueryAOPを読み込むbookmarklet

特定メソッド実行時にlogを吐かせたりしたいので javascript:jQuery.getScript('http://jquery-aop.googlecode.com/svn/trunk/src/aop.js');void 0; 当日修正 jQuery pluginを読み込むときはjQueryは読み込まれている前提なんだから、 本体読み込むときみた…

若手IT勉強会 - 第5回勉強会 サイ本読書会第9章

第5回勉強会 - 若手IT勉強会 - アットウィキ ↓を使ってコードの実行デモをやった。 Learning Advanced JavaScript 随時更新 9.2プロトタイプと継承 new演算子がやる事 空のオブジェクトを作成 コンストラクタ関数のprototypeプロパティの値をオブジェクトの…

若手IT勉強会 第5回勉強会 サイ本読書会 第8章

第5回勉強会 - 若手IT勉強会 - アットウィキ ↓を使ってコードの実行デモをやった。 Learning Advanced JavaScript 8.1.1 入れ子型の関数 関数の中で関数を定義出来る 関数の定義はそのスコープ内のトップレベルで行わなければならない if文の中で関数定義と…

若手IT勉強会 第5回勉強会 サイ本読書会 第7章・第10章

第5回勉強会 - 若手IT勉強会 - アットウィキ サイ本 第7章メモ - すがブロ 7.5 配列 [1,2,].length;//2 [,].length;//1 [,][0] === undefined;//true [,,].length;//2 最後のカンマの後に何も書かれていないと無視される。 カンマ前に何も書かれていないとun…

pixivのイラストをブックマークするのをブックマーク追加画面に遷移せずに行いたい

やりたい事 イラスト表示画面からブクマ タイトル・キャプション・登録タグからグループを自動追加 過不足分を手動で削除・追加 一通りパーツがそろったらグリモン化したい。 jQueryを使うとする。 イラスト表示画面でjQueryを使うにあたっての注意点 なぜか…

Firebugでのbookmarklet作成方法

コピーボタンクリックでもいいけど、 アレだとタブが残ったり半角スペースがエンコードされなかったりするので。 コード copy( 'javascript:' + someFunction .toSource() .replace(/"/g,"'") .replace(/ (={1,3}) /g,'$1') .replace(/ /g,'%20') + '(/* 引…

jQueryを読み込ませるbookmarklet Google AJAX Libraries API版 (JavaScriptの動的ロードとか)

jQueryを読み込ませるbookmarklet - 文殊堂 ↑を置き換える用に作った。 javascript:(function%20(options)%20{var%20version=(options%20||%200).version%20||%201.2;var%20noConflict=(options%20||%200).noConflict%20||%20false;if%20(typeof%20jQuery%20…

Jooseで遊んでる

Google Code Archive - Long-term storage for Google Code Project Hosting. コード読んだり、落としてきたファイルの中のexamples/class_browser.htmlで遊んだり。 ClassBrowserを使うと各Moduleに属するClassとRoleを列挙して、 その中のAttributeやMetho…

jQueryでeventを設定した要素とeventとして設定した関数をダバダバ吐かせる

それだけ $('*').each(function(i,elem){ var events; if(!(events = $.data(elem,'events')))return; console.group(elem); for(var eventType in events){ console.info('eventType',eventType); var handlers = events[eventType]; for(var j in handlers…

jQueryの$.ajaxで取ってきたXMLをjQueryで掘っていける件

JavaScript Library Overview このプレゼンの52ページ目で初めて知った。 例えば、TwitterのAPIを叩いて最新20件分の発言の本文を Firebugのconsoleに吐き出すというのをこんな感じで出来る。 jQuery(function($){ $.ajax({ type:'POST', url:'http://twitte…

漫画の台詞翻訳UI

alice margatroid and kirisame marisa (touhou) drawn by makako (yume bouei shoujo tai) - Danbooru これ、ゆっくり漫画の転載なんだけど、吹き出しの台詞の所に半透明のdivがかぶさってて、 マウスを載せるとtooltipとして英訳された台詞が表示される。 …

jQueryUI 1.6でのメソッドprivate化回避コード

$('.ui-dialog-content').dialog('position','top'); などとやってやれば、Dialogを画面の一番上に移動することが出来る。 一方1.6では以下のどちらを実行してもピクリともしないのだ。 $('.ui-dialog-content').dialog('position','top'); $('.ui-dialog-co…

jQuery UI1.5→1.6での変更点(1.6RC2時点)

Download Builder | jQuery UIで1.6RC2をダウンロードできる。 以下変更点 widget pluginが5つ追加された 興味のある人は落としてきてデモを触ってみるとよいかと。 以下簡単なせつめー ui.autocomplete.js オートコンプリート ui.colorpicker.js グラデーシ…

Twitterの/homeのHTMLがXMLHttpRequestで取れなくなってる件

XMLHttpRequestで取りにいくと、HTMLではなくPrototype.jsのElement.replace関数を使った部分更新のscriptを返してくるようになった。 なので、http://twitter.com/homeで以下のコードを実行すると、 タイムラインの部分が部分更新される。 jQuery.ajax({ ty…