Captcha security check hisasann.com is for sale Please prove you're not a robot View Price Processing
Captcha security check hisasann.com is for sale Please prove you're not a robot View Price Processing
HTMLDocument と XMLDocument を見分ける方法を模索していました。 2008-10-12追記: 内容を大幅に更新しました 何がしたいのか uupaa-selector.js version 1.2では、HTMLDocuemnt と XMLDocument で、CSSセレクタの挙動が変化します。 HTMLDocuemnt なら 小文字の a タグ と 大文字の A タグ は一緒。 uu.css("a"); で <a>, <A> がヒットする XMLDocument なら タグの大小は区別する。 uu.css("a"); なら <a> のみヒットする これを実装するためには、XMLDocument と HTMLDocuemnt を見分けたうえで動作する必要があります。 どこを調べれば、XMLDocument を区別できるのか調べてみた text/html, elm = d
はてなスターや Tumblr のブックマークレットなど,ブラウザ上の選択文字列をそのままユーザの入力として使えるサイトが増えています。JavaScript からどのようにすれば取得できるのかを調べてみました。 ブラウザ間の差異 DOM における選択範囲の仕様として以下の 2 通りがあります。 W3C Range Microsoft TextRange IE が Microsoft TextRange のみサポートしているのはまぁ予想通り。注意しなくてはいけないのは,W3C Range は,あくまで DOM 上の「範囲」を示すためのインタフェースであることです。ブラウザ上でユーザがどこを選択しているのか,などは UI の実装になりますから,W3C (Range) では規定されていません*1。そこで W3C Range をサポートしているブラウザは,選択範囲をあらわす W3C Range オブ
(GM_)XMLHttpRequestなどで取ってきたJSON文字列をDOMツリーに変換する関数を書いたのでメモ。 var createDocumentFromJSONString = function(str){ var json = (new Function('return (' + str + ');'))(), jsonDoc = document.implementation.createDocument("", "json", null); if (json instanceof Array) { jsonDoc.documentElement.setAttribute("type", "array"); json = { jsonarray: json }; } else if (typeof(json) === "object") { if (json === null)
追記:ちょっとコードを短くした。 メモ化、正規表現を使わない工夫、メソッド呼び出しを減らすなど、地味に努力した。 けっこう速いと思う。 引数には、順不同で複数のクラス名を渡せる("foo bar"、"bar foo"みたいに)。 if (typeof HTMLElement.prototype.getElementsByClassName!="function") HTMLElement.prototype.getElementsByClassName=function(className) { var names=className.split(/\s+/), all=this.getElementsByTagName("*"), memo={}, ret=[]; for(var i=0,l=all.length,elem,iname,flag;i<l;i++) { elem=all[i
微妙に役割の被っている、document.evaluateとSelectorsAPIを、どう使い分けるかという話。 僕は最近、 タグ名、クラス名、idで一発で取得できる場合は速度のためにgetElements系のものを使う。 XPathでできて、SelectorsAPIでできない時は、XPathを使う。 XPathでもSelectorsAPIでも出来るときは、特別な理由がない限りSelectorsAPIを使う。 のような感じで使い分けている。 クラス名を扱う時はSelectorsAPIを使う。 例えば、はてなキーワードを普通のリンクにするJavaScriptは、XPathを使うと var keywords = document.evaluate("descendant::a[contains(concat(' ',@class,' '),'keyword') or contains(con
Captcha security check hisasann.com is for sale Please prove you're not a robot View Price Processing
コード最後部のElement.addMethods()の呼び出しにより、HTMLElement.prototype以下にメソッドを追加してあるので、個々の要素インスタンスに対して追加する必要は無し 1298行目では、ここで使う変数や、ショートカット関数などを定義しています。 1301行目からは、このブラウザで拡張するべき関数オブジェクトをmethodsオブジェクトに詰め込んでいます。ここでmethodsのプロパティ名が要素に拡張されるメソッド名で、プロパティ値が関数オブジェクトになります。 グローバルなHTMLElementが定義されている場合、F.ElementExtensionsが真となります。この値はIEでは偽ですがFirefox、Safari、Operaでは真になります。真の場合はHTMLElementに定義されているメソッドが使えるのでここで拡張する必要がなくなります。 Elem
ネイルで使う材料で、DIY時の木割れやネジ跡を派手にしたらかわいい OSB合板でちょっとしたボックスをつくりました。 ビス止め下手すぎて木を割ったり穴あけすぎたりした場所に、好きな派手色の樹脂を詰めてパテ代わりにしてみました。 ちょっと某HAYっぽみ出て可愛かったので、自分用にメモです。 手順 塗装 派手色グミジェルで失敗部分…
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く