Javascript

どのページからも Twitter につぶやける TweetMonkey - OAuth 対応

どのページでも Twitter の入力画面があらわれ、そこから Twitter につぶやくことができるツール TweetMonkey。見ているウェブページの感想をつぶやくにはとても便利。去年、Google Chrome 版の TweetMonkey をリリースした。どのページからも Twitter につ…

任意のユーザーの最新 Tweets を投稿時間順に取得できる TweetRetriever

任意のユーザーの最新 Tweets を投稿時間順に取得できる Google Chrome 機能拡張を作成した。名付けて TweetRetriever。 これを使うとたとえば elm200 ユーザの最新100個の tweet を古い順に取得する、などということができる。Twitter のタイムラインは、新…

どのページからも Twitter につぶやける TweetMonkey - 最新 Chrome 対応

どのページでも Twitter の入力画面があらわれ、そこから Twitter につぶやくことができるツール TweetMonkey。どのページからも Twitter につぶやける TweetMonkey - Rails で行こう!Google Chrome 版 TweetMonkey - Rails で行こう!この最新 Google Chro…

はてなダイアリー用のリンクを作成するブックマークレット

はてなダイアリーを書くときに一番面倒なのは、リンクの作成だった。これを簡単にしてくれるブックマークレットを作った。はてダリンク javascript:prompt("hatena diary link", "[" + location.href + ":title=" + document.title + "]"); はてダは JavaScr…

Google Chrome 版 TweetMonkey

どのページからも Twitter につぶやける TweetMonkey 。その Google Chrome 版を作ってみた。しかし、Chrome の事情に合わせてつくったので、見た目は違う。ウィンドウの一番下のスタータスバーの部分に常時 Twitter への入力ボックスが表示され、いつでも T…

どのページからも Twitter につぶやける TweetMonkey

どのページでも右下に Twitter の入力画面があらわれ、そこから Twitter につぶやくことができるツールを作ってみた。名付けて TweetMonkey。コモンズ・マーカーの Twitter 版のようなものかもしれない。 前提 TweetMonkey はGreasemonkey のユーザースクリ…

インドネシア語単語ゲームを作ってみた

私は現在インドネシア語を勉強しています。例の東京外語大のサイトを使って勉強しているのですが、以下のようなノートをテキストファイルに書き付けています。 2008/04/23 [08-3] mencari 探す penerbitnya 出版社 betul 正しい harga 値段 ribu 1000 sekara…

Scheme on JavaScript でオセロゲーム

動機 先日、JavaScript 界にその名をとどろかす、かの id:amachang にお会いする機会に恵まれた。amachang は、評判どおり、やさしく礼儀正しい好青年であった。最近、私は Gauche を勉強していて、その流れで amachang が作った JavaScript で動く Scheme …

インドネシア語学習ブックマークレット

インドネシア語のススメ 私は自他ともに認める自然言語オタクである。近々インドネシアに住む友人を訪ねる予定があり、それではということでインドネシア語を学び始めた。インドネシア語はアルファベット26文字のみによって表記され、文法・発音ともにかなり…

圧縮した JavaScript ファイルを利用する

gzip で圧縮した JavaScript ファイルを使って、ダウンロード時の帯域を節約することができる。基本は、.jgz と .js.gz と Apache の設定のとおり。これをベースに自分なりに書き換えてみた。Apache を用いる。.htaccess に書くこともできるけれども、オーバ…

Rails ユーザのための jQuery 情報ソース

趣旨 Rails でアプリケーションを作成すると、もれなくついてくる prototype.js とその仲間たち。prototype.js は Ruby 風の API を備え、その意味では素敵なのだが、老舗な分、設計が古臭く、拡張性に乏しい。私の見るところ、拡張性の高さでは jQuery がよ…

jQuery を用いた in_place_editor_field

趣旨 インプレース編集を可能とする in_place_editor_field。prototype.js 系はアレなので、jQuery 版を作ってみた。といっても、完全互換ではない。mouse hover がらみの処理は省略。みなさんなりの実装をするときの参考にしてもらえれば幸いです。 使い方 …

Ajax.InPlaceEditor でさまざまなフォームを表示する

趣旨 Rails の in_place_editor_field メソッドの本体は、prototype 系ライブラリ script.aculo.us の controls.js にある Ajax.InPlaceEditor である。InPlaceEditor は、フォーム表示に関して、実はあまり柔軟性がない。任意のフォームは使えないだろうか…

ブラウザ上で、テキスト選択を解除する方法

ブラウザ上で、テキストの選択を Javascript から解除する方法について、ネット上をいろいろ探し回ったのだが、見つからなかった。試行錯誤して、自分なりのやり方を思いついたので、ここに記録しておく。ここらへんのインターフェイスは、IE と Firefox で…

ブラウザにおける空白文字に関する考察

趣旨 ブラウザによる空白文字の取り扱いは、なかなか一筋縄ではいかないので、これを整理してみる。 情報ソース ブラウザの問題:半角スペース、全角スペース、改行コード、整形処理 よくまとまっている。おすすめ。 ブラウザ上の空白文字の表示 一般的なブ…

IE6で position:fixed エミュレーション

どうやら IE7 の標準モードでは、position:fixed (スクロールの如何にかかわらず、画面の一定の位置に表示される) がようやく実装されたらしい。が、まだまだ世の中たくさんある IE6 では、それがない。方法はないのか、といえばある。一番まとまっているの…

Javascript の Array#sort はデフォルトで要素を文字列としてソートする

Array#sort はデフォルトで要素を文字列としてソートするようだ。Core JavaScript 1.5 Reference:Global Objects:Array:sortそれを知らずにはまった。要素を数値として比較したい場合は比較関数を引数に指定する。 [1,8,11].sort(); // => [1,11,8] [1,8,11]…

JSON の日付型

Rails 2.0 では対応されたかもしれないが、Rails 1.2 の時代には Time クラスに to_json メソッドが正しく定義されていなかった。「Timeオブジェクトに対するto_jsonメソッド呼び出し」によれば、 ActiveSupport::JSON::Encoders::define_encoder(Time) do |…

ビューポート(表示域)のキャンバス座標系における位置

ブラウザで、ビューポート(表示域)のキャンバス座標系における位置、平たくいうと画面のスクロールの状態はどう取れるだろうか?基本的には、scrollTop scrollLeft - ブラウザのスクロール状態を取得する の通りである。つまり、次のようにすればいい。 va…

Javascript で Base64 encode/decode

趣旨 泣く子も黙る RFC2045 Base64 encode/decode を Javascript で実装してみた。「Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式…

Flash の z-index を Javascript から有効にする

趣旨 Flash は、ただのインラインレベル置換要素であるにもかかわらず、デフォルトでは CSS の z-index に関する決まりごとに従わない。z-index とは、画面の x軸・y軸の両方に直交する軸で、要素が画面の手前におかれているのかそれとも奥かを指示する CSS …

Cookie について

基本中の基本ではあるが、案外よく理解していない Cookie について、調べてみた。 基本概念 Wikipedia "HTTP Cookie" によれば、「HTTP cookie(エイチティーティーピークッキー、単にCookieとも表記される)は、RFC 2965などで定義されたHTTPにおけるWebサ…

クリーンな JSONP リクエスト

基本概念 JSONP (JSON with Padding) とは、HTML 文書において、Javascript を使って SCRIPT 要素を動的に追加することにより、リモートサーバへのリクエスト・データの取得を可能にする技術である。 JSON という名前はついているが、取得できるデータは JSO…

別のサイトの iframe の中身は Javascript からは見られない

iframe に関するセキュリティ上の制限 常識かもしれないが、とりあえずメモ。次のような HTML を考えてみる。 <html> <body> <iframe src="http://www.softculture.com/" id="iframe1"></iframe> </body> </html> これをファイルとして保存して、それを FireFox 2.0 で直接読み込む。(つまりローカルで実行) Firebugs のコンソールで次の Javascript の…

HTML要素の位置設定

趣旨 昨日のエントリで HTML 要素の位置取得について述べた。取得とくれば今度は設定であろう。位置設定にも、いくつかの落とし穴があるので、解説したい。 情報ソース 位置取得同様 W3C CSS 2.1 の次の各章が重要である。 8 Box model 9 Visual formatting …

HTML要素の位置取得

趣旨 ウェブページとして描画された HTML 要素の画面上の位置を取得する。一見簡単そうに見えるこの作業が、現在実装されているブラウザ上ではとてつもなく難しい。そのことを以下で説明していく。 情報ソース この問題に関して調べたところ、最もよく出来て…