?D of K
JavaScript-XPath とは JavaScript-XPath は、 DOM 3 XPath を実装していないブラウザに対して、実用的な速度で動作する DOM 3 XPath のエンジンを追加します。 一言で乱暴に言ってしまえば、どのブラウザでも document.evaluate って関数で XPath 使えるようになるよ!ってことです。 以下が公式サイトになります。 http://coderepos.org/share/wiki/JavaScript-XPath DOM 3 XPath ってなんなの!? めっちゃ簡単(で、ちょっとだけ適当)なDOM 3 XPath の説明をします><。 JavaScript でよく使う document.getElementById や document.getElementsByTagName って関数ありますよね? DOM 3 XPath
This shop will be powered by Are you the store owner? Log in here
JavaScript-XPath JavaScript-XPath is the FASTEST DOM 3 XPath (XPath 1.0) implementation in JavaScript. This code runs 10 times faster than Google Ajaxslt's xpath.js!! Release/Download Latest Version Latest Compressed Version If you can use subversion, check out the trunk with: svn co http://svn.coderepos.org/share/lang/javascript/javascript-xpath/trunk/ jsxpath Bindings jQuery Prototype YUI How to
2007年11月09日23:20 カテゴリLightweight Languages javascript - setTimeout()化とネスト amachangの例題の場合もそうだが、これには一つ問題がある。 Kazuho@Cybozu Labs: Re: for 文を setTimeout に変換する for 文を setTimeout に変換する - IT戦記の件。おもしろい。自分だったらこう書くかなと思いました。 ネストした場合、順番がぐしゃぐしゃになるのである。それを以下に示す。 プログラム: timeout_for( 0, 3, 1, function (i) { timeout_for( 0, 3, 1, function (j) { p(i + ', ' + j); }); }); 出力: エラー: もし期待どおりなら、[0,0],[0,1],[0,2],[1,0],[1
for 文で 100 項目とか 1000 項目とかあるテストケースを処理するとブラウザが固まる。 こんなダイアログが表示されます。 ということで for 文を setTimeout や setInterval に変換する事で定期的にブラウザに処理を戻すことができる。 // ここでは console.log のところでログを取ってますが // 通常は処理が入ります。 for (var i = 0; i < 3; i ++) { console.log('a' + i); } /* * 結果 * a0 * a1 * a2 */ これをまず while 文に変換 var i = 0; while (true) { if (!(i < 3)) break; console.log('a' + i); i ++; } /* * 結果 * a0 * a1 * a2 */ で、 setTimeout に
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
amachangのエントリを読んで 僕が初めて cd コマンドや ls コマンド (もっとも簡単なコマンド) を打ったのが 2005 年。そして、 JavaScript を始めたのも 2005 年末。 http://d.hatena.ne.jp/amachang/20071106/1194316804 ってところで改めてamachangの学習能力の高さというかどん欲さってすごいなぁ、と感じた。 ちょっと自分について 自分はどうだったんだろう?と学生時代から振り返ってみます。 学生時代 僕は2000年に某高専に入学し、1年の時からUNIX上でのC言語プログラミングを学んできました。 高専に入ってからは成績も悪く、プログラミングに興味も持てない生活が5年続いてなんとか卒業できたレベルで、某大手ベンチャーに就職しました。 就職 そして就職してからはとても厳しい日が続きました。 5年間プログラミン
「往年の名作「スーパーマリオブラザーズ」、あの濃い内容でわずか40キロバイト」に載っていたわずか565バイトのテトリス。文字数にして551文字。79文字*7行のプログラミングで、テトリスが動きます。 以下のソースコードをメモ帳に貼り付けて、htmlで保存すればテトリスが動きます。 <body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y() {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/ A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1 if(e=!e){if(f|B){fo
My DebugBar | CompanionJS / HomePage IEでのJavaScriptデバッグを可能にする「CompanionJS」。 サイトでインストールをすると、IEにドッキングされます。 インストールするだけでは使えず、インターネットオプションの「スクリプトのデバッグを使用しない」チェックを外す必要があります。 インストール後は、次のように「表示」メニューから表示することが出来ます。 表示すると次のような感じ。 エラーが出ると右側にエラーが出て、クリックするとスクリプトのエラー箇所に移動し、ハイライトされます。 また、サイトでエラーがあると次のようにブラウザ上で通知してくれます。 IEでもデバッグしたい場合がありますが、このツールはなかなか使えそうですね。 もっといろんなデバッグをしたい場合はデバッグバーというものがあるようです。 DOMインスペクタ、HTTPインスペ
最近のWebサイトでは画面遷移をなくし、Ajax化するのが好まれる。とは言え、既存のサービスに対して実装するのはそうそう単純ではない。それにAjaxを使った場合、PVの計測が難しく、メディア等では取り入れづらい。 だが、これを使えば簡単にそれっぽい実装ができそうだ。 今回紹介するオープンソース・ソフトウェアはGreyBox、Webページにも対応したCSSポップアップウィンドウだ。 GreyBoxは最近良く見かける、画像をクリックすると同じページ上でポップアップするライブラリになる。特徴的なのは、画像のみならずWebページでもポップアップしてくれる点だ。 既存のAタグに対して情報を埋め込めば、それだけでクリックすると背景をグレーアウトし、クールなポップアップを表示してくれる。これならばお問い合わせフォームや、詳細検索等のフォームでも使えそうだ。 大きさを指定したり、フルスクリーンでの表示もで
以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -
最新版はこちら http://code.google.com/p/kanaxs/ ひらがな⇒カタカナ String.prototype.toKatakanaCase = function() { var i, c, a = []; for(i=this.length-1;0<=i;i--) { c = this.charCodeAt(i); a[i] = (0x3041 <= c && c <= 0x3096) ? c + 0x0060 : c; }; return String.fromCharCode.apply(null, a); }; "ぁぃぅぇぉあいうえお".toKatakanaCase(); // ァィゥェォアイウエオ カタカナ⇒ひらがな String.prototype.toHirakanaCase = function() { var i, c, a = []; for(i
Latest topics > getElementsByなんちゃら の代わりにXPathを使う 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « 不可逆的な変化に対する感じ方と、死 Main CSS3セレクタとXPathでの表現の対応表 » getElementsByなんちゃら の代わりにXPathを使う - Sep 09, 2007 拡張機能勉強会の時に焚き付けられた、Text Shadowのコード(textshadow.js)を教材にして拡張機能開発のノウハウを解説していくシリーズ。 W3CのDOMでは、要素ノード(およびそのリスト)を得る方法として以下の方法がある。 getElementById(aName) IDをキーにして単一の要素ノー
「はじめてのJSONPプログラミング」に関連して、JSONPについてもう少し詳しく調べてみました。 JSONPは、「JSON with Padding」の略で、JSONを用いた関数呼び出しの仕組みのことです。 JSONP 「JSON with Padding」とは: - IT用語辞典バイナリ JSONは、「JavaScript Object Notation」の略で、構造化されたデータを記述するためのテキストベースのデータ記述言語の一つです。 JSONとは:ITpro JavaScript Object Notation - Wikipedia JSONPは、異なるドメインで提供されている機能を直接呼び出すことも可能な点で、XMLHttpRequest(XHR)などのHTTPリクエストよりも優れています。(XMLHttpRequestは、JSONPと同様にHTTP通信でデータをやり取りでき
ドキュメント順とは何か? ドキュメント順とは、簡単に言えば「XML のソース上の前にある順」のこと。 詳しくはこのへんを見てね。 XPath ではこの「ドキュメント順」という概念がよく登場する。 たとえば、ノードを文字列化するときは子孫テキストノードを「ドキュメント順」に文字列として連結しなければならない。とかとか でも、このドキュメント順へのソート 考えただけでもめちゃめちゃ重そうだ・・・。 いろいろ考えてみた。 XPath 実行中はドキュメント順が変わることがないので、DOM アクセスはキャッシュできる。 ノードの集合は木構造で保存したほうが比較回数が少なくてすむ(アルゴリズム初心者なので、実際に早いか検証しないと><) で、今回は DOM アクセスをキャッシュしながらノードを比較する関数を作る 汎用的に作ったので XPath 目的以外でも使えます。 var order = funct
適当に XPath を試したい時に 以下のようにすれば、簡単に XPath をためせます。 document.evaluate( '//div[@class="hoge"]', // XPath 式 document, // 基準となるノード(要素とか null, // 名前空間の解決方法(適当にやるときは null 6, // 取得する形式の指定(適当にやるときは 6 null // 結果を再利用するかどうか(適当にやるときは null ); 簡単ですね。 document.evaluate、式、ドキュメント、ヌル、6、ヌル。 覚えましたか? でも、これを Firebug で実行するとこうなっちゃいます。 うーん。これではどの要素が選択されたかわかりません>< 不便ですねー。 というわけで、以下のブックマークレットを実行してあげてください。 javascript:void(XPathRe
iandeth. Perl, Flash ActionScript, MySQL, Movable Type, システム開発 - そんなテーマのサイトdeth. 最近遅ればせながらjQueryを使い始めてみているのですが、jQueryは標準ではクロスドメインのJSONPリクエストに対応していないようでした。AJAX系APIの中には $.getScript() のようにレスポンスをjavascriptソースとして実行するものもありますが、あくまで同一ドメイン内通信に限定されているので、「JSONP対応のWebサービスからデータを直接取得」のような用途には使えません。 じゃあ、ということで随分前 (2006-01-25) にMichael Geary氏がJSONP用のjQueryプラグインをさくっと作って公開してくれています: JSON for jQuery - mt.to これでとりあえずは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く