閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

Javascript

任意の要素の下でスワイプしたときだけスクロールを無効にしたい

スマホで動くお絵かきツールみたいなのを書いている時に、Canvasの上をスワイプでなぞった箇所に線を引くようにしたら、線を引きながらページがスクロールしてしまう現象にはまりました。 これでは使い物にならないので、Canvasの上でスワイプしたときはスク…

for in ループを誤解していた

ECMAScript の for in ループは、他の言語みたいに以下のように書けるものなんだと思っていました。 for(var obj in objects) { obj.doSomething(); }しかしいざ実行してみるとエラー(TypeError)が出てしまいます。自分の脳内では、obj変数にはobjectsの各要…

|| 演算子

C++ では、 f(false || "hoge"); とした場合、関数 f には真偽値 (true) が渡されますが、JavaScript や多くの Lightweight Language では真となる方の値をそのまま返すようです。この例の場合は文字列が返ってきます。 // JavaScript alert(false || "hoge"…

JavaScript で OOP

Prototype.js のソースやウェブ上の情報を参照しつつ、 JavaScript で OOP なコードの書き方などは大体覚えた。結構楽しい言語だなあ。仕事での出番はそれほど無さそうではありますが、まあ、そこそこ楽しめそうかな。

XMLHttpRequestでたくさんのページを一気に読みに行くと……

はてなブックマークの各タグの使用回数をタグの横に表示する Greasemonkey のユーザスクリプトを書いてみたけれど、パフォーマンスが悪すぎるので窓から投げ捨て。ブックマークフィードでタグによる絞込みを使うと、例えば http://b.hatena.ne.jp/wata_d/ato…

nodeValueではまる

とある XML 文書のとある要素の内容を取得するために、 element.nodeValue なんてやると null が返ってきてしまってはまりました。とある要素、というのは以下のようなもの。 <test> <elm>aaa</elm> </test>elm 要素の値 (ここでは aaa) が欲しかったので、次のようなコードを書きま…

CSSStyleDeclaration の setProperty

Firefox1.0.4 で CSSStyleDeclaration の setProperty で style 属性の内容を変えようとしても、うんともすんとも言わないのですが、これ未サポートなんでしょうか? Javascript コンソールとか見ても実行時エラーとかも出ていないし。Web サイト見て回って、…

日付変更ボタン

はてなダイアリーの編集画面に日付変更ボタンを追加するユーザスクリプトですが、やっぱり色々問題があったので書き直しました。実体参照の展開があまり宜しくなさげなのと、変更後の記事に対してのコメントやトラックバックを参照/編集したい時にそれができ…

日付変更ボタン

id:toinamiさんにコメントで指摘いただいた問題点を修正しました。 id:wata_d:10000001 あと、ダブルクォーテーションも実体参照になるみたいなので、それも変換するようにしました。

日記の編集中の日付を切り替えるスクリプト

id:toinami:20050802 に刺激を受けて、 idea:500 辺りを多少改善できそうなユーザスクリプトを書いてみました。ソースは長ったらしいので別ページ(過去日記)に貼り付けたのでそちらを参照してください。 Greasmonkey 用のスクリプトですので、 Firefox でし…

Javascriptを勉強しちゃうよ!

ということでちょっと便利なユーザスクリプトを書くために Javascript をちゃちゃっと覚えてしまおうと思い立ち、そのための覚書。 [http //www.parkcity.ne.jp/~chaichan/src/2ndthema.htm:title]:リファレンスと説明。 [http //www.axis.t.u-tokyo.ac.jp/~…