Home > Latest topics

Latest topics 近況報告

たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。

萌えるふぉくす子さんだば子本制作プロジェクトの動向はもえじら組ブログで。

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

Page 77/80: « 72 73 74 75 76 77 78 79 80 »

通常の文字列とUnicodeエスケープの相互変換 - Sep 28, 2005

Firefoxの拡張機能開発でいちいち専用ツール使うのもめんどくさかろうということで、こんな物を作ってみた。無駄にXUL。

unicode.xul

同じ内容でHTML5版。(2011年12月27日追加)

unicode.html

いちいちこのページにアクセスするのがめんどい人は、ダウンロードしてローカルに置いておくこともできます。というか、そうしてください。

tabbrowser.loadOneTab - Sep 28, 2005

tabbrowserウィジェットにloadOneTabなんてメソッドが増えとる……

定義した人は何考えとるんジャロ? 意味が分かんないよ…… なんでaddTabの引数を今までの互換性を保ちつつ新たにもっと詳細な指定ができるように改良するという方向に持っていかないのだろうか。不思議。

Firefoxのセキュリティモデルを統一する「NoScript」 - Sep 27, 2005

NoScriptいいね。

FirefoxのセキュリティモデルはCookieやポップアップブロック、拡張機能のインストールの許可などを見ると分かるように、基本的には「サイト単位で許可・禁止を決める」ものなんだけど、JavaScriptのセキュリティ設定だけは、IEのセキュリティゾーンのように、サイト単位ではなくポリシー単位で設定を行うものになっている。

このモデルのずれを「ポリシー単位」側に統一するのがポリシーマネージャなんだけど、IE転向組でもない限りは結構違和感があるはず。これとは逆に、「サイト単位」側に統一してくれるのが、NoScriptだと言うことができる。

ていうかいいかげんこの、セキュリティポリシーというレガシーな仕組みをなくしてしまわないんでしょうか? 標準ではGUIもないしさあ。

removeEventListenerに起因するコンフリクト - Sep 27, 2005

割と最近までMozillaには、あるイベントリスナを無効にするのにremoveEventListener()メソッドを使うと、他のイベントリスナまでも巻き添えに無効にしてしまうというバグがあった。拡張機能同士のコンフリクトの中でも最も厄介なトラブルは、これに起因するものだ。

ウィンドウの読み込み完了時のタイミングで初期化処理を行うために、addEventListener()で初期化関数をloadイベントのリスナとして登録することがよくある。イベントハンドラは一つしか登録できないのに対して、イベントリスナならいくつでも登録可能だからだ。

で、メモリの解放し忘れを防ぐために気を利かせて、この初期化専用のイベントリスナをremoveEventListener()で登録解除するようにしていると、冒頭の問題にぶち当たってしまう。ある拡張機能の初期化処理が行われたら、その次にイベントリスナとして登録されている初期化処理が行われなくなってしまう、ということが起こるのだ。Popup ALT Attributesの25日版とTab Mixとのコンフリクトは、たまたまこの二つがその順番でインストールされていたからこのような形で問題が表面化したに過ぎず、本質的には、Popup ALT AttributesにもTab Mixにも非は無い。あくまでMozillaのバグだ

こんなのまで僕の落ち度にされちゃあたまったもんじゃないですよ、なんで僕がMozillaのバグの尻拭いで説明と対応をさせられなきゃあならないんですか、ってんですよ……ブツブツ……

書名とISBNコードからURNリンクとAmazonへのリンクを同時に作るカスタムスクリプト for ContextMenu Extensions - Sep 27, 2005

アソシエイトIDを持ってる人向け。

var amazon_id = '';

var title = _selection || prompt('書名を入力してください');
if (!title) return;

var isbn = prompt('ISBNコードを入力してください');
if (!isbn) return;

isbn = String(isbn).replace(/^(urn:isbn:|isbn)/gi, '');

_setClipBoard('<a href="urn:isbn:'+isbn+'">'+title+'</a>(<a href="http://www.amazon.co.jp/exec/obidos/ASIN/'+isbn.replace(/-/g, '')+'/'+amazon_id+'/ref=nosim" title="'+title+'">Amazon.co.jp</a>)');

XHTMLのルビマークアップを作るカスタムスクリプト for ContextMenu Extensions - Sep 26, 2005

classの値は好みで。

var base = _selection || prompt('ルビを付ける文字列(ルビベース)を入力してください');
if (!base) return;
var text = prompt('ルビ文字列(ルビテキスト)を入力してください');
if (!text) return;

var attr = confirm('読みがなですか?') ? ' class="読み"' : '' ;

_setClipBoard('<ruby><rb>'+base+'</rb><rp>(</rp><rt'+attr+'>'+text+'</rt><rp>)</rp></ruby>');

TBEでリンクをクリックしたときの挙動を制御できなくなっている問題の解決の糸口 - Sep 25, 2005

テストケースを見る限り、HTMLの属性としてイベントハンドラを定義しているケースについては対処可能のようだが、JavaScriptでイベントハンドラを追加している場合については対処不可能だ。

やっぱリ手詰まり。

――マニフェストファイルをいじって、セキュリティの制限を緩くするようにした。僕が把握してる範囲では、攻撃可能な穴はなさげだけれども、穴ってのは大抵、予想もしてないところから見つかるからなあ……まあその時にはその時だ。

Google ToolbarとPopup ALT Attributesのコンフリクト - Sep 25, 2005

冗談じゃないっすよ。これを以て「Piroの作る物はやっぱ穴だらけだな」とか言われるだなんて。実装見たら明らかじゃないすか。今回の問題はどー見たってGoogle Toolbarの横暴が原因ですよ。

Google Toolbarの野郎、こともあろうにイベントハンドラそのものを上書きしくさりやがってる。こちとら可能な限り元のコードに影響を与えない方法を考えてあれこれ対策してるってえのに、そんな配慮のカケラもない。そんなの知ったこっちゃないね、俺様は天下のGoogle様なんだからFirefoxのコードを引っかき回したって許されるんだぜ、そんな驕りが窺い知れるってもんですよ。

ああムカツク。

――と、よく調べずにキレてたんだけど、どうも違う原因っぽい?

――ちゃんと調べてみたら、やっぱりGoogle Toolbarが悪者だということがはっきり分かった。

続きを表示する ...

TBEでタブグループの親になっているタブを閉じられないことがある問題 - Sep 25, 2005

調べていて気付いたけど、これは、子タブについての扱いが、コードを書いた時期によって変わってしまっていることが原因だった。ある時期には「タブの要素ノードの配列」、またある時期には「タブのID文字列の配列」、またあるときは「タブのID文字列の配列をパイプ("|")で連結したもの」と、もー、バラバラ。

JavaScriptは型チェックのない言語なので、こういうことがよく起こる。コーディング時に意識を高く保つ必要があるのが、JavaScriptの欠点といえば欠点ですな。

後悔の日々 - Sep 24, 2005

何が悔しいって、自分ができることってこれだけしかないと思っていながら、しかしこんなもの金になるはずがないと思っていて、自分ができなかったこと、なんだかんだと理屈をこねまわして「やらない方がいいだろう」と自分で自分を説得したことを、成功したか失敗したかどうかは知らんけどとにかく形にしてしまった人がいること。

煮え湯を飲まされるって、こういう感じ。

Page 77/80: « 72 73 74 75 76 77 78 79 80 »

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき