2008年5月21日(水)
改行入力なしでオートラップされた場合も自動調節してくれるとうれしいかな?と思ってちょっと小細工してみました。
■元ネタ
元記事:textareaのサイズを入力にあわせて調整するJavaScript (イラストdeブログ開発記)
経由:404 Blog Not Found:javascript - 勝手に添削 - textareaの高さを自動調節
■ソース
<script type="text/javascript">
function initResizeTextarea(textarea) {
if (!textarea||textarea._initResizeTextarea_) return;
textarea._initResizeTextarea_=true;
var offset=textarea.scrollHeight-textarea.offsetHeight;
var lastLength=textarea.value.length, initRows=textarea.getAttribute('rows');
if (isNaN(initRows)) initRows=3;
if (!window.opera) {
textarea.onkeyup=function(){
var rows=textarea.getAttribute('rows');
if (textarea.value.length<lastLength) {
while (textarea.scrollHeight-textarea.offsetHeight<=offset) {
textarea.setAttribute('rows',--rows);
if (rows<=initRows) break;
}
}
while (offset<textarea.scrollHeight-textarea.offsetHeight) {
textarea.setAttribute('rows',++rows);
}
lastLength=textarea.value.length;
};
}
else {
textarea.onkeyup=function(){
var lines=textarea.value.split('\n');
var len=(initRows<lines.length)?lines.length:initRows;
textarea.setAttribute('rows',len);
};
}
} // end of initResizeTextarea()
</script>
<textarea cols="64" rows="4" onfocus="initResizeTextarea(this)">
イチ
に
三
</textarea>
■サンプル
動作確認は、IE7(Sleipnir)、Firefox 2.0.0.14、Safari 3.1.1、Opera 9.27 で行いました。
ただし、Opera はscrollHeightの値が変化してくれないため、手動で入力した改行のみ対応で、オートラップには対応できていません。
2008/05/21(水) 01:53 | 固定リンク
|
| トラックバック (0)
2008年5月14日(水)
Yin and Yang:リンク先の内容をその場で表示するスクリプトについて、アンカー指定による移動を止める、マウスホイールでページをスクロールしている時などに引っかかりやすい(リンクの上をマウスカーソルが横切るとプレビューが開いてしまう)問題に対処するなど、いくつか修正を行いました(ver.0.02m)。
■Greasemonkey&SeaHorse兼用版
■SeaHorse専用版
ver.0.02hから主として以下のような改修を行っています。
- 【共通】アンカー指定で移動していたものをやめ、object.scrollIntoView(true)を使った移動に変更。
これでアンカー指定のページ履歴が残ったり、IE系でプレビューする度にカチカチ音がする現象がなくなったはず。
- 【共通】スクロール時にマウスカーソルがリンクを横切るとひっかりが生じる(敏感に反応してプレビューが開いてしまう)問題の対策。
一定時間(300ms)リンクの上にカーソルがないと、プレビューが開かないようにしてみました。プレビューが可能になったタイミングで、リンクの背景色がピンク色になります。
- 【共通】その他、表示上の微調整。
■余談
scrollIntoView()で移動する先の座標を、移動しないで知る方法はないものでしょうか……あるオブジェクトの位置を知りたいだけなのに、いったんそこまでスクロールしないといけなかったり、さもなくば、いちいち先祖まで遡ってブラウザ依存のオフセット計算をしないといけないなんて、不便極まりないですよねぇ……。
2008/05/14(水) 23:37 | 固定リンク
|
| トラックバック (0)
2008年5月07日(水)
電車の中で声高にケータイで会話している人を横目でみながら。
ノイズキャンセルヘッドホンの片耳分を凹凸を逆にして口につけたら、周囲に迷惑をかけないマイクが出来たりしないのかね?
自分の声が
- 通話相手には聞こえやすく。
- 周囲の無関係な人には聞こえにくく。
なったりすると、ちょっとうれしいかもしんない。
いや、もちろん周波数特性とか、デザインとかは工夫したうえで、だけど。
検索もかけないで書いているので、とっくに実現されてはいるものの、もろもろの事情で広まっていないだけ、という可能性も高いけどね……すぐ思いつきそうだし。
2008/05/07(水) 23:10 | 固定リンク
|
| トラックバック (0)
2008年5月05日(月)
特定ページについた
はてなブックマークの情報って、はてな提供のAPIでJSON(P)で取得出来たんですね……1年半も前にリリースされているのに、つい先日まで知らなかったので、Google Ajax Feed API だの Yahoo!Pipes だので一生懸命取得していました(苦笑)。
そんなわけで、『
はてブBOX』と、ココログ用『
はてブコメント表示欄』スクリプトを、上記に対応する形でアップデートしました(『はてブBOX』はver.0.01i、『はてブコメント表示欄』はver.0.01d)。
ブックマークレットやココログに設置して使っている場合には自動で更新されますが、Greasemonkey/SeaHorseとして使用している場合は更新をお願いします。
■『はてブBOX』(Greasemonkey&SeaHorse)
■ココログ用『はてブコメント表示欄』(Greasemonkey/SeaHorse)
共に、表示面の細かいところを調整しています。
コメントにURLが有る場合には、リンクに変換するようになりました。
はてブBOXの方はタグも表示されるようになりました。
裏でこっそりバージョンアップしていたので、実際はver.0.01hから。
また今まで表示するアイコンが多すぎると下のほうが隠れてしまっていたのを、位置調整して表示するように改修しました。
2008/05/05(月) 21:36 | 固定リンク
|
| トラックバック (1)
2008年5月03日(土)
ver.0.02cから主として以下のような改修を行っています。
- 【共通】ページがうまく取得出来なかった場合、iframe表示を試みるように修正。
- 【共通】スクリプト読込み時の初期化処理の簡略化による体感速度向上。
- 【共通】プレビュー上の画像を非同期表示することによる体感速度向上。
- 【共通】ページ上にテーブル要素が有る場合にエラーになることがある不具合修正。
- 【SeaHorse専用版】ページ取得に時間がかかりすぎている場合(30秒以上)は取得を中止するように修正(この場合はiframe表示となる)。
- 【SeaHorse専用版】特定ページをプレビューしようとすると固まる不具合修正。
ActiveXObject('htmlfile')で作成したdocumentにおいて、NOSCRIPT要素内にOBJECT/EMBED要素が含まれるようなとき、このNOSCRIPT要素をremoveChild()しようとしたら、Sleipnirが固まることが有るようです。
2008/05/03(土) 20:33 | 固定リンク
|
| トラックバック (0)
今回の新機能は『リンク(<A>)要素にsyySwitch()という関数を追加する』というものです。
この関数をコールすると、当該リンク先のプレビューが開いたり閉じたりします(トグル動作)。
例えば、
LDRize for SeaHorseに対応させるには、LDRizeをインストールしたフォルダ(デフォルトだとC:\Program Files\Fenrir & Co\Sleipnir\plugins\seahorse\LDRize)下のkeybindex.jsに、以下のようなコードを追加します。
KEYBIND['y'] = function() {
var LDRize=window.LDRize;
if (!LDRize) return;
var paragraph=LDRize.getCurrentParagraph();
if (!paragraph||!paragraph.getElementsByTagName) return;
var links=paragraph.getElementsByTagName('a');
if (links.length<=0) return;
var url=LDRize.getParagraphLink(paragraph);
if (url) {
for (var ci=0,len=links.length; ci<len; ci++) {
var tmplink=links[ci];
if (tmplink.href!=url) continue;
if (!tmplink.syySwitch) continue;
tmplink.syySwitch();
return;
}
}
var link=links[0];
if (link.syySwitch) link.syySwitch();
};
これで、[y]キーによって、LDRizeで"→"がついているparagraphのプレビューを開閉出来るようになります。
【2008/05/03追記】うまく開閉出来ない場合があったので、ちょっと修正。
2008/05/03(土) 03:44 | 固定リンク
|
| トラックバック (0)
2008年5月02日(金)
■主な変更点
- 【共通】LDRFullFeedのSITEINFOも使用するようにしました。
- 【共通】読込んだページに含まれるスクリプトが実行されることがあったものを修正。
- 【SeaHorse専用版】text/html以外のページをプレビューしようとするとエラーになっていたものを修正。
- 【SeaHorse専用版】リンク先が画像ファイルの場合も対応。
- 【SeaHorse専用版】charsetによっては(cp943cなど)、文字コード変換時にエラーが発生することがあったものを修正。
SeaHorse(Sleipnir)専用版は結構いい感じに使えるようになった気がします。だれか他ブラウザ専用版作ってくれないかな(笑)。
2008/05/02(金) 12:33 | 固定リンク
|
| トラックバック (0)
2008/05/02(金) 03:56 | 固定リンク
|
| トラックバック (0)
検索結果やブログを読んでいてリンクがあった場合、それをクリックして別画面でリンク先を確認する、というのは結構面倒だったりします。
マウスオーバでサムネイル画像がプレビューされる、というようなスクリプトはよくありますが、意外とわずらわしいし、その割に実際にどんな内容があるかはよくわからないので、あんまり好きじゃないんですよね。
なので、その場でプレビュー表示してみるようなスクリプトを作成してみました。
■使用方法
スクリプトをインストール/実行後にウェブページを表示し、適当なリンクの上にマウスカーソルをあわせて、マウスホイールを手前に回すと、しばらくしてリンク先のプレビューが表示されます。
同様に、リンク上にカーソルをおいてホイールを反対に回せば、プレビューが閉じます。
■動作画面
リンクの上にマウスカーソルをあわせ、ホイールを回すと……
のように、プレビューが表示されます。
■Greasemonkey&SeaHorse
【2008/05/02追記】SeaHorseの方は
専用版があります。Sleipnir使いの方はそちらをどうぞ。
■SeaHorse専用
SeaHorseの使い方については、例えば
こちらとか
こちら。Greasemonkeyの使い方については、例えば
こちら。
Operaのユーザー JavaScript ファイル(User Script)としても動作するようです(Opera
9.27で確認)。
■ブックマークレット
■注意書き
例によって、一切の保証はありません。ご使用は自己責任で。
リンク先のページによっては文字化けしたり、内容がまったく表示されないこともあります。悪しからず。
■覚書
ちなみになんでスクリプト名が『Yin and Yang』かというと、リンクの陰に隠れているページを陽にさらすという意味から、です。
ほんとは引用→陰陽だというのはひみつ。
2008/05/02(金) 00:05 | 固定リンク
|
| トラックバック (1)
2008年4月30日(水)
2008/04/30(水) 22:39 | 固定リンク
|
| トラックバック (0)
2008年4月14日(月)
ほぼ一年間出張の感があった昨年とはうって変わって、本年は今日でやっと2回目。前回は日帰りだったので、泊まりは今回が初です(といっても一泊ですが)。
一泊だけですし、今回はネット環境付のホテルはやめて、ノートPCも持参しなかったのですが。
いい機会とばかりにネットカフェ初体験をしております(^^;)。
自分でも意外ですが、なぜか今まで利用する機会がなかったという…ここはマンガも読めるのですが、そう ...
続きを読む
2008/04/14(月) 22:51 | 固定リンク
|
| トラックバック (0)
はてなブックマークのコメントに対してリプライを返す試みを、はてなハイクを用いて行ってみました。
■Greasemonkey/SeaHorse
はてブコメントにリプライするスクリプト
■サンプル
上記をインストール後に、適当なブックマークページ(http://b.hatena.ne.jp/ユーザID/*)へ行くと、コメントがついている場合、 Replyのようなマークが表示されます。これをク ...
続きを読む
2008/04/14(月) 01:33 | 固定リンク
|
| トラックバック (0)
2008年4月12日(土)
【ココログ】はてなブックマークコメントを個別ページにさり気なく表示するスクリプトに、ありがちですが、サイドバーに最近のはてブコメント(を付けた人のID)を表示する機能を追加してみました。
■サンプル
■はてブコメント表示欄をココログに設置(サイドバー表示付き)
function getReturnUrl(form) {
var elm=form.parentNode;
while( ...
続きを読む
2008/04/12(土) 02:07 | 固定リンク
|
| トラックバック (0)
2008年4月11日(金)
ココログの記事の個別ページに、そのページについているはてなブックマークのコメントを表示するスクリプトです。
■サンプル
これなら、『ココログユーザに見えないところで、はてなーがコメントつけてるらしい…』と不安になることも無くなりますね?!
でも、他にも沢山のブックマークサービスがある罠。というか、影が薄いよ>@nifty クリップ。
■はてブコメント表示欄をココログに設置
fun ...
続きを読む
2008/04/11(金) 02:20 | 固定リンク
|
| トラックバック (0)
2008年4月08日(火)
AutoPagerize | Google グループでの話題をきっかけに、任意のURLをベースとして、相対パスを絶対パスに変換する方法を模索してみました(IE7・Firefox2.0.0.13・Opera
9.27・Safari3.1で確認)。
■ソース(動作サンプル)
varpathToURL=(function(){
varwimg=newImage();
varwork=document ...
続きを読む
2008/04/08(火) 00:31 | 固定リンク
|
| トラックバック (0)
2008年4月03日(木)
AutoPagerize/AutoPagerlikeのGoogle イメージ検索に対応させる方法を模索してみました。
■SeaHorseスクリプト(Sleipnir専用)
AutoPagerlike:SeaHorse版AutoPagerize(もどき)
AutoPagerlike用設定ファイル
■Greasemonkeyスクリプト(Firefox専用)
Google イメージ検索対応 ...
続きを読む
2008/04/03(木) 22:50 | 固定リンク
|
| トラックバック (0)
2008年4月02日(水)
『次へ』リンクが"javascript:~"になっているようなページだと、AutoPagerizeおよび類似のスクリプトでは通常は対応できません。
でも、中には単にURIを作ってlocation.hrefで移動しているだけ、というページもあるようなので、そういったところなら対応できるかなぁと、拙作AutoPagerlikeで試行してみました(ver.0.03h)。
■SeaHorseスクリプト ...
続きを読む
2008/04/02(水) 00:15 | 固定リンク
|
| トラックバック (0)
2008年3月30日(日)
はてなダイアリー/ウィキペディアの脚注をその場で見るスクリプトを、AutoPagerize(for Firefox)およびAutoPagerlike(for Sleipnir)に対応してみました。
■Greasemonkey&SeaHorse
脚注をその場で表示
これで、はてなダイアリー上でページを追加表示した場合も、脚注をその場で表示出来るようになります。
ついでにAutoPagerli ...
続きを読む
2008/03/30(日) 18:22 | 固定リンク
|
| トラックバック (1)
2008年3月27日(木)
AutoPagerizeでは、各ページに『次のページへのリンク 』があることを前提とした動作になっていますが、
個別ページには次のページへのリンクが無い。
インデックス(目次)ページは存在する。
というようなサイトに対応させる方法はないかなぁ?と思ったので、とりあえず拙作のAutoPagerlike
AutoPagerlike:SeaHorse版AutoPagerize(もどき)
...
続きを読む
2008/03/27(木) 01:10 | 固定リンク
|
| トラックバック (0)
2008年3月20日(木)
メインブラウザとして使っているSleipnirでAutoPagerizeが使えないのが悔しかったので(?)、トライしてみました。
■SeaHorseスクリプト(Sleipnir専用)
AutoPagerlike:SeaHorse版AutoPagerize(もどき)
AutoPagerlike:SeaHorse版AutoPagerize(もどき)
AutoPagerlike用設定ファイル
S ...
続きを読む
2008/03/20(木) 06:36 | 固定リンク
|
| トラックバック (0)
2008年3月15日(土)
はてなダイアリーの脚注をその場で見るためのGreasemonkey/SeaHorseについて、考えてみれば、はてなダイアリーの脚注よりも、ウィキペディア(Wikipedia)の脚注の方がさらに認知コスト高い気がする……ということで、そちらにも対応してみました(ver.0.01c)。
【追記】
きっと似たようなのは既にあるだろうなとちょっと探してみたところ、やっぱりありました。
Wiki ...
続きを読む
2008/03/15(土) 22:08 | 固定リンク
|
| トラックバック (0)
2008年3月14日(金)
はてなダイアリーの脚注リンクをクリックすると、その場に脚注の内容が表示されるようにするGreasemonkey/SeaHorseです。
【追記】(2008/03/15)
ウィキペディアにも対応してみました。
■実行イメージ
↑脚注リンクをクリックすると……
↑のように、その場で脚注の内容が表示されるようになります。
【2008/04/03追記】
若干操作を変えてみました(ver.0. ...
続きを読む
2008/03/14(金) 23:36 | 固定リンク
|
| トラックバック (0)
2008年3月09日(日)
ココログの記事についたコメントをRSSフィードとして取得する試みのその2、Yahoo!Pipes版。
ココログのコメントをRSSで取得
↑のブックマークレットをブラウザのお気に入り(ブックマーク)に登録しておき、ココログの個別記事のページで実行すると、一番上の方に『RSS』というリンクが表示されます。
これをご自分のRSSリーダに登録しておくことで、該当の記事についた最近のコメントをRSSリ ...
続きを読む
2008/03/09(日) 09:02 | 固定リンク
|
| トラックバック (0)
2008年3月08日(土)
はてブコメントビューア『はてブBOX』を改修し、はてブコメントにはてなスターを付けられるようにしてみました(ver.0.01d)。
こころにくいあんちくしょうのコメントに星をふりまいてあげましょう(笑)。
■実行イメージ
コメント表示箇所にスターを、BOX部分に"Add Star"アイコンを、それぞれ表示するようにしてみた。
"Add Star"のところにマウスカーソルをおいて、マウ ...
続きを読む
2008/03/08(土) 21:14 | 固定リンク
|
| トラックバック (0)
2008年3月06日(木)
変わリ種はてブコメントビューア第3弾!
今回の『はてブBOX』はこれまでの『はてブニコす』や『はてブぽっぷ』と比べ、実用性も高いと思います。はてブコメントファンの方はぜひお試しを!
【追記:2008/03/07】……って、Greasemonkey&SeaHorseのリンク、はてブポップになっていた……丸一日そのまま放置、すみません。
あとついでに、日付・時刻も表示するように修正しました(ver. ...
続きを読む
2008/03/06(木) 04:19 | 固定リンク
|
| トラックバック (1)
2008年2月26日(火)
『Google Ajax Feed API はまだ不安定?』で記事にした問題をなんとかしたいとちょっと調べてみたところ、どうやら『Yahoo!Pipes』なるサービスを使えば打開出来そうに思えたので、試してみました。
指定したURLに関するソーシャルブックマークのコメントをまとめて取得するAPIをYahoo! Pipesで作った(管理人日記) - むぅもぉ.jp
という、はてブぽっぷや ...
続きを読む
2008/02/26(火) 01:46 | 固定リンク
|
| トラックバック (0)
2008年2月23日(土)
Googleの検索結果のうち、はてなブックマークされているものだけをフィルタリングするブックマークレット/Greasemonkey/SeaHorseを作成してみました。
■実行イメージ
フィルタオフ
フィルタオン
■ブックマークレット
はてブフィルタ
ブックマークレットの登録方法等はこちら→【Web】ブックマークレットのブラウザ毎の登録方法
■Greasemonke ...
続きを読む
2008/02/23(土) 12:40 | 固定リンク
|
| トラックバック (0)
ちょっと変わリ種のはてブコメントビューアを作成してみました。名付けて『はてブぽっぷ』。
GreasemonkeyかSeaHorseの導入、もしくはブックマークレットの実行で、現在みているページにはてブコメント(文字の入ったもの)が付いていれば、右下にカウンタ付きのはてなマークが現われます。
これをクリックするたび、最新のものから順に、コメントが飛び出します。
コメントが下まで落ちてきたら、小さな ...
続きを読む
2008/02/23(土) 01:26 | 固定リンク
|
| トラックバック (0)
2008年2月17日(日)
もうちょっとおとなしい(?)やつも公開中なので、併せてお試しを。
■マウスホイールではてブコメント流し読み!『はてブBOX』(ブックマークレット/Greasemonkey/SeaHorse)
■はてブコメントが飛び出す!『はてブぽっぷ』(ブックマークレット/Greasemonkey/SeaHorse)
見ているページにはてなブックマークのコメントがついていた場合、それをニコニコ動画風に表 ...
続きを読む
2008/02/17(日) 16:55 | 固定リンク
|
| トラックバック (0)
2008年2月15日(金)
すべてのオブジェクトをキーにできるハッシュの様なもの - IT戦記
と
【JavaScript】オブジェクトをキーに出来るハッシュのようなもの……って、これじゃだめ?
と、それぞれベンチマークを取って見ました。
■ベンチマーク
varcount=prompt('試行:キーの数は?',500);
(function(){
print('ahref="http://d.haten ...
続きを読む
2008/02/15(金) 00:38 | 固定リンク
|
| トラックバック (0)
2008年2月13日(水)
すべてのオブジェクトをキーにできるハッシュの様なもの - IT戦記を見て。
どうやったら効率的なものを書けるだろうか
単純に、こんなのじゃだめでしょうか?
キーになるオブジェクトを汚しているけど(w
↓
■[2008/02/14]
for (name in key)とすると、想定外の余計なものまでとれてしまうのはやはりちとまずいように思えたので、keyの直下ではなく、key.toString ...
続きを読む
2008/02/13(水) 21:52 | 固定リンク
|
| トラックバック (0)
2008年1月26日(土)
『みんなで解決!広場』のQ&Aの中で引用されているページを、参照数の多いものから順にリスト表示したページを作成してみました。
名付けて『ココみて!』。
『みんなで解決!広場』フレーム版のトップに貼り付けてある@nifty投票「ココログ『みんなで解決!広場』でほしい機能は?」では、「よくある質問集」の割合が過半数を越えており、FAQ集の需要が高いことがうかがえます。
なんとかならないものかと ...
続きを読む
2008/01/26(土) 05:59 | 固定リンク
|
| トラックバック (0)
2008年1月20日(日)
ブログのカスタマイズでCSSをいじっているときや、スクリプトを作成しているとき、ページのタグ構造やid・classの設定がどうなっているのかをちょっと確認したいときがあります。
そんな場合に使えるかもしれないブックマークレットです。
ページのタグ構造を表示するブックマークレット
新たにウィンドウ(タブ)が開いて、そのテキストエリア(textarea)内に、元ウィンドウ(タブ)のタグ構造が表示 ...
続きを読む
2008/01/20(日) 23:16 | 固定リンク
|
| トラックバック (0)
2008年1月15日(火)
ココログではトップページの一番下の方にリンクナビ(『 [過去記事名]』のリンク)が表示され、これをクリックすることで、一つ前の記事に飛び、以降は画面上部のリンクナビによって過去記事を遡ることができますが、ページ遷移がわずらわしいと感じることもあるかと思います。
はてなダイアリーだと、ココログ同様にリンクナビでさかのぼることもできますが、それとは別にナビについているアイコンをクリックすると、ページ ...
続きを読む
2008/01/15(火) 00:22 | 固定リンク
|
| トラックバック (0)
2008年1月12日(土)
ココログのサイドバーは便利なんですが、ときどき邪魔に感じることもあるのではないでしょうか。
そこで、閲覧する人の好みと必要に応じてサイドバーを消したり表示したりするような機能がブログについていれば、案外使う人もいるかも?と思ったので、試作してみました。
ココログのサブタイトル欄(キャッチフレーズ欄)に
scripttype="text/javascript"
window.ccSOstyl ...
続きを読む
2008/01/12(土) 19:50 | 固定リンク
|