2009-01-01から1年間の記事一覧

Firebugの$$()の落とし穴

Firefox 3.5.6 + Firebug 1.4.5。 ユーザーCSSを作るときにパパッとセレクタの対象になる要素を確認できて便利だな、と思っていたら、疑似セレクタが使えないなどdocument.querySelectorAllとは別物のよう。まあそれくらいなら良いけれど、クラスセレクタが…

FirefoxではHTMLCollection#namedItem()の戻り値は(該当する要素が複数あっても)1つの要素

Greasemonkeyスクリプトを作成しているときにつまずいた。 XPCNativeWrapper - MDC (XPCNativeWrapper の制限事項)HTMLCollection に設定された XPCNativeWrapper では、名前による要素のアクセスが動作しません。 この場合は、コードとして namedItem() メ…

配列をソートするとき(Array#sort()の引数)に使う比較関数についての覚書

JavaScript 第5版の118ページ。 基本 引数を指定しなければ辞書順でのソートになる。数値は文字列として比較されるので、33と4では1文字目(3と4)の比較となり33が先になる。 var a = [33, 4, 1111, 222]; a.sort(); // 1111, 222, 33, 4(辞書順) 他の順…

GoogleブックマークをすっきりさせるGreasemonkeyスクリプト

スペース節約、横スクロールバー回避。 querySelectorAllを使っているので、Firefox 3.5以降でないと動かない。 // ==UserScript== // @name Google Bookmarks Simplifier // @namespace http://d.hatena.ne.jp/rikuba/ // @include http://www.google.com/b…

見ているページからそのサイトの人気エントリー一覧にジャンプするブックマークレット

はてなブックマークでは、URL を指定して、そのサイト内の人気エントリを抽出できます。http://b.hatena.ne.jp/entrylist?sort=count&url=http://d.hatena.ne.jp/tokuhirom/ url= 以降に人気記事を読みたいサイトを入れます。 プロ・アマ・プログラミング言…

Twitterの発言からその前後の会話を調べるブックマークレット

Big Sky :: Twitterの発言から、その前後の会話を簡単に知る方法でhttp://search.twitter.com/search/thread/ステータスIDで前後の会話を調べられることを知ったので、ブックマークレット化。 javascript:(function(){if(!/^https?:\/\/twitter\.com\/[^\/]+…

ブックマークレットのソースコードの直後に登録用のリンクを追加するブックマークレット

はてなダイアリーは<a href="javascript:〜">なリンクが書けないので。 javascript:で始まるPRE要素の直後に、そのソースコードの行頭スペースと改行を取り除いたものをhrefとしたリンクを挿入。 Firefox 3.5で動作確認。6行目のtextContentをinnerTextに書き換えればIEでも動く。一</a>…

PRE要素のタブ文字

ふと、そういえば駄目なんだっけ、と思い出した。 水平タブ文字 水平タブ文字 ([ISO10646]及び[ISO88591]の十進9) は、視覚系ユーザエージェントによって、通常、8文字毎に出現するタブ区切り箇所に適合する、1つ以上で最小の空白列として解釈される。本書は…

行間を広げるブックマークレットがあるページで動かなくて

使っていたのは以下のもの。 javascript:(function(){ var e = document.body.getElementsByTagName('*'); for(var i=0,l=e.length; i

HTML文書内の見出しを抽出し、OL要素で階層化する

目次を生成するブックマークレットを作った - rikubaの日記 掲示板/JavaScript質問板/JavaScript DOMの勉強の仕方 - TAG index Webサイト (5). HTML 4.01 文書内の見出し(H1-H6 要素)を抽出し、OL 要素で階層化せよ。 <ol> <li>H1-1 <ol> <li>H2-1 <ol> <li>H3-1</li> <li>H3-2</li> </ol> </li> <li>H2-2 </ol> <li>H1-2 <ol></ol></li></li></ol>…

Webkitでstyle要素をdisabled=trueにしてもスタイルシートを無効にできない

SafariやGoogle Chromeで、style要素をdisabled=trueにしても、そのstyle要素のスタイルシートを無効にできない。 document.getElementsByTagName('style').item(0).disabled = true; 一方link要素で読み込んだ外部スタイルシートは、そのlink要素をdisabled…

はてなダイアリーで好きなテーマ(デザイン)を適用するブックマークレット

ベーステーマを指定していないダイアリーで効かなかったので修正。 はてなグループの日記でも可。 下記のコードはdeltaのCSSファイルのパス(/theme/delta/delta.css)を指定した例。 javascript:(function(){if(!/[dg].hatena.ne.jp/.test(location.href))ret…

Firefox 3.5のタブの切り離し

Firefox 3.5で、YouTubeやニコニコ動画などの動画を再生中にタブの切り離しを行うと、再生されていた動画がリセットされてしまう。 Google Chrome 2.0.172.33やOpera 9.63、Safari 4.0なら引き続き再生される。OSはWindows XP、Flash PlayerのバージョンはWI…

script要素のdefer属性

『初めてのJavaScript』9ページ。 下記のようにscript要素にdefer="defer"(HTML 4であれば属性名を省略して属性値deferだけでも良い)を指定すると、ページの処理と表示が終了してからコードが実行されるようになるそうだ。 (コンテンツを生成するコードと…

『初めてのJavaScript』が届いた

今日からこの本で勉強していく。 まずは正誤表を確認。 初めてのJavaScript サポートページ 正誤表 第3刷なので誤植でつまずくことはあまりなさそう。