日向夏特殊応援部隊

俺様向けメモ

JavaScript

Ex DOM Storage の話を Yokohama.pm でしてきました

すっかり忘れかけてたけど資料の方、SlideShare にて公開します。 Introduction DOM Storage and Ex DOM Storage まとめエントリとかは Yokohama.pm テクニカルトーク #3 に参加中 - 北海道苫小牧市出身の初老PGが書くブログ が秀逸なのでそちらをご覧下さい…

クロスブラウザな onhashchange イベント (作りかけ)

今更 IE8 の話なんて遅れてる感満載な訳ですが、IE8 からは onhashchange イベントと言う location.hash の値が書き変わったら発火するイベントが出来ました。onhashchange イベントについては下記参照。*1 winow.onhashchange - Thousand Years hashchange …

StorageEvent の非互換性メモ

Fx3 で確認したけど、StorageEvent のプロパティに差異があるようで、sessionStorage 由来で onstorage イベントが fire した場合、IE8 だと event.uri; // #session で取得出来るのに対して、Fx3 だと、 event.domain; // #session で取れるみたい。ただ HT…

Inside Ex DOM Storage

Ex DOM Storage の中の実装ですが、結構苦労したので折角だから解説しちゃうぞ的なエントリです。なので興味のある人以外にはだいぶニッチですw Ex DOM Storage の技術的概観 簡潔に書いてしまうと以下の二点につきます。 データの格納先は userData behavio…

Ex DOM Storage をリリースしました

結構前に作っていたんだけど、IE6, IE7 でも動作する DOM Storage を作ったので、きちんと告知します。 追記 ちなみにサーバーにファイル置くだけで動きます。ユーザーに何かインストールさせる必要はありません。(2008-09-24T11:45:56+09:00) CodeReposにソ…

typeof 演算子と RegExp オブジェクト

Fx3 の MozRepl の search メソッドが動かないなーと思っていて調べた内容です。 ちなみに仕様的なものを引っ張って来ていますが、JSは門外漢なので自己責任でお願いします(ぇ repl.search() の実装 function search(criteria, context) { context = contex…

IEでのJavaScriptのデバッグ方法 - Microsoft Script Editor編 -

IEでJSのエラーになったときに立ち上がるデバッガって大体の人が使いこなせてないのではないでしょうか? ちなみに僕もそうだったのですが、ふと思い立って調べてみました。 追記 (2008-01-10T14:24:30+09:00) はてブのコメントで、 MS Office持ってない人は…

TypeNameでInterface名(もどき)を取得する

はじめに VBScriptのTypeName()関数は変数はその変数がどんな型なのかを返してくれる関数です。 これはscript要素がtext/vbscriptならば使えるのですが、出来ればJavaScriptで使いたいって話です。 Microsoft API and Reference Catalog window.execScript()…

選択範囲のリンク一覧からPathtraqの解析クエリ編集画面を開くBookmarklet

作ってみますた。 DOM Rangeに対応してるブラウザなら動くと思います。 (function(contentWindow) { var links = []; var seen = {}; var selection = contentWindow.getSelection(); if (!selection || !selection.rangeCount) return; var findLinks = fun…

JavaScriptのlocationオブジェクトとURI::httpの対応表

例えば、 use URI; my $uri = URI->new("http://d.hatena.ne.jp/ZIGOROu/?foo=bar#hoge"); のようにURIオブジェクトがある場合、 URI::http locationオブジェクト scheme protocol host host host hostname fragments hash query search path path port port…

nsIWindowWatcherを使って全てのダイアログを捕捉する

相当ニッチな用途ですけど、 window.alert() window.confirm() window.open(); window.openDialog(); window.print(); などなど、特別なダイアログが開いた事を検出するにはnsIWindowWatcherを使うと出来るようです。 var wwatch = Cc["@mozilla.org/embedco…

ディレクトリ指定とOS判別

やっとXPConnect経由でXPCOM叩くのに慣れてきました。 var Cc = Components.classes; var Ci = Components.interfaces; だと思って読んで下さい。 replはMozReplです。 nsIPropertiesを利用したディレクトリの指定 http://developer.mozilla.org/en/docs/Cod…

ブログバトラーのブログパーツをはてダに貼り付けるGreasemonkeyスクリプト

ブログバトラーがバージョンアップしました! 詳しくは、 Film izle, Full HD Film İzle, Full HD Türkçe Dublaj Flim izle http://blog.graffiti-web.org/archives/2007/06/_3_1.html をご覧下さい。 はてなダイアリーでブログバトラーを貼り付けた振りをす…

nsIWritableVariant, nsIWritablePropertyBag2について

最近XPCOMにハマってる*1訳ですけど、 いまいち分からん点があります。その前にタイトル通りnsIWritableVariantとnsIWritablePropertyBag2について現状試した結果についてつらつらとメモしておきます。 その前にXPConnect/XPCOMの説明 JavaScriptから見たXPC…

JSON文字列化

JSのデータをJSON文字列化したいー、なんて時があるならば json.orgが公式で出しているjson.jsを使うのが世間では多いみたいなんですが、 これはCoreオブジェクトのprototypeにメソッド追加してるんで、場合によってはハマる人が多い*1みたいです。http://se…

JavaScript::Minifierを使ったJavaScriptファイルの軽量化ワンライナー

cat foo.js | perl -MJavaScript::Minifier -e 'jsmin(*STDIN, *STDOUT);' 終了。

Perlのucfirst()相当

String.prototype.toUpperCaseFirst = function() { return this.replace(/^[a-z]/i, function(match) { return match.toUpperCase(); }); }; これでいいかな?(誰

XULのデバッグ環境について

XUL Apps > Tips > XULアプリの開発環境を整える - outsider reflexを見てたんですが、若干Firefox2.0だと異なるようなのでメモ。 間違ってる可能性も否定出来ないので識者が居たら是非ツッコミをw dump()を有効にする about:configにて、extensions.logging…

MozReplのショートTIPS

ヒストリが使いたい 公式サイトにはsocatが推奨とあるけど、rlwrapのが便利。 カスタム関数を自分で定義したい それrepl.load()で、 repl.load("file:///home/zigorou/.repl/custom.js", repl); この場合だと多分、 with (repl) { // ここにロードしたスクリ…

JSON-RPCをJSON-Shellで試してみる

Install JSON-ShellはJSON RPCを実装しているエンドポイントに対して、メソッドを実行する為のshellです。ですが、なんかこのモジュールのインストールがなかなか上手く行きませんでした。 とりあえず Term-ReadLine-Gnu を入れるととりあえず動作するような…

SpiderMonkeyをthreadsafeでビルドする

はじめに とりあえず僕の環境であるFC6で試してます。 Install SpiderMonkey checkout まずは適当なディレクトリに行ってcvsからcheckoutしてきましょう。 # cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login # cvs -d :pserver:anonymous@…

javascript.el

d:id:higepon:20060707:1152249345 によるとjavascript.elがいい感じとの事でしたが、今確かめてみたら404ですた。orz... Web Archiveにてまだ拾えます。javascript.el設定は、 ;; javascript-mode (add-to-list 'auto-mode-alist (cons "\\.\\(js\\|as\\|js…

user.js面白いー

なんか僕みたいなJS素人な人でもあっさり書けてしまうもんですね。 ただDOMの操作がやはりおぼつかないのでどうしても時間が掛かるですよ。 あと結構ハマったのがid:cho45さんの$Xを使ってみた際に、XPathやっぱり書けないという事実。w なんかXPathがスラ…