JavaScript, jshjsh ブックマークレット版は以下。 javascript:(function(){var BASE='http://www.asahi-net.or.jp/~xe4r-kmt/jsh/';with(window.open('','_blank','width='+screen.width*.6+',left='+screen.width*.35+',height='+screen.height*.9+',resizable,scrollbars=yes')){document.write('jsh');document.close();}})() 名前、いろいろ考えたけど、jshになりました。 画面はLDRで購読リストを調査しているもの。各機能については、これから少しずつポストします。 補完候補のタイプ表示も追加して、非列挙プロパティの補完も対応し、一段落。
JavaScript setTimeoutで実行される関数の中で発生するエラーは、セットした部分のtry/catchで補足することはできません。 function throwError(){ throw new Error('ERROR'); } try{ setTimeout(throwError, 3000); } catch(e){ // ここには到達しない alert(e); } MochiKit.Async.Deferredを使うと、エラーバックでエラーを補足できます。 callLater(3, throwError).addErrback(function(e){ alert(e); }); エラーの補足以外にも、Deferredのインターフェースから以下が行えます。 キャンセル(cancel)状態(fired)コールバックの追加(addCallback)エラーバックの追加
抜粋池谷 「やる気」を生み出す脳の場所があるんですよ。側坐核と言いまして、脳のほぼ真ん中に左右ひとつずつある。側坐核の神経細胞はやっかいなことに、なかなか活動してくれないのです。どうすれば活動をはじめるかというと、ある程度の刺激が来た時だけです。つまり、「刺激が与えられるとさらに活動してくれる」ということでして……やる気がない場合でもやりはじめるしかない、ということなんですね。そのかわり、一度はじめると、やっているうちに側坐核が自己興奮してきて、集中力が高まって気分が乗ってくる。だから「やる気がないなぁと思っても、実際にやりはじめてみるしかない」のです。 糸井 やりはじめる前に、やる気がないのは当然なのですか? 池谷 はい。やってないから、やる気が出なくて当たり前です……この現象はクレペリンという心理学者が発見して「作業興奮」と呼ばれています。作業しているうちに脳が興奮してきて、作業に見合
Flash、dataスキーム、読み込み失敗 JavaScript 暴満館 >> Code Snippetsを見やすくするGreasemonkeyスクリプト 上記のとおり、Flash/SWFファイルをdataスキームから読み込もうとしたが失敗。 最速インターフェース研究会 :: Firefoxでテキストをクリップボードにコピーする方法 上記の「実験1」をローカルに保存して動かない。 エラーは発生せず、何も起きないかんじ。 自分で作成しているFlashProxyでも同じ。 ActionScriptの先頭にも来ていないので、Systemオブジェクト(setClipboard)だけセキュリティが厳しいわけではないと思う。 allowScriptAccessがalwaysでも、だめ。 Flash Player 9をアンインストールし、8にすると正常に動く。 もちろん、dataスキームを使わずにファイ
テンプレート関連 JavaScript 最終更新 2008/9/23 日本野望の会−Yabooo.org » Javascript でHTML::Template | Matthias Georgi - Patroon - a Javascript Template Engine google-jstemplate - Google Code Ajaxian » Django Template Language in JavaScript EJS - Embedded JavaScript at Edward Benson JsonML (JSON Markup Language) IT戦記 - JsonML を使う高速テンプレートエンジン「JsonML.Template」 JSLT javascript-based XSLT alternative ZParse - Advanced J
JavaScriptFlashProxy 学習のためJavascript Sound Kitを読み、より汎用的に使えるプロキシを切り出してみました。addListnerの部分や、ディスパッチの部分など、とても面白かったです。(時間があれば、図を書きたいんだけど...)作者のGustavo Ribeiro Amigoさん、ありがとう、ごちそうさま! ActionScript内でのevalや、プロパティ列挙、new Functionなどが十分に行えなかったため、ターゲットのプロパティを自分で初めに列挙する必要があります。thisまわりや、スコープの扱いも、MTASCはちょっと変でクセがあります。 コンセプトコードに近く、ActionScriptについての知識が皆無なため、見落としだらけだと思います。MP3の再生だけなら、Javascript Sound Kitで十分です。なにかの参考になれば。
MochiKit - スタイルガイド 翻訳 原文:StyleGuide - MochiKit - Trac MochiKitのコーディング規約の大部分はPythonのPEP8とPEP 7(この順に優先される)に従っている。しかし、JavaScript特有の点もいくつかある : ビルトイン・オブジェクト、およびそのプロトタイプを絶対に変更しない。(例えば、このようなことは行わない: Object.prototype.foo = REALLY_BAD! ) 代わりに関数の使用を志向する。 関数のようにtypeof演算子を使用する : typeof x ではなく typeof(x) コンストラクタを使用するときには引数を括弧に入れる : new Error, foo ではなく new wError("foo") 常に完全修飾子で他の関数を呼び出す。また利便性のための記号的なエイリアスも用いない
JavaScriptきしださん(id:nowokay)コメント、ストライクです。これだ、これだよー。0で前月の最終日だよ。 new Date(year, month+1, 0).getDate(); (found at Determining the Number of Days in a Month with Javascript) function daysInMonth(month, year){ return 32 - new Date(year, month, 32).getDate(); } これおしゃれやわぁ。日付をロールオーバーさせて基礎値から引くかんじ。日数の最大値より多ければ、32でも40でもいいんだな。 私が考えたのは、月初の前日の日を調べるやつで、Dateオブジェクトが無駄でした。 function getLastDateOfMonth(year, month
JavaScriptRules for Bookmarklets ブラウザ最大文字数Netscape> 2000Firefox> 2000Opera> 2000IE 42084IE 52084IE 6508IE 6 SP 2488IE 7 beta 22084 戻ってる。
Collection & Copy - 上下左右の中央にボックスを配置する id:inception9さんから、より簡単な方法をコメントで教えて頂きました!ありがとうございます。 これだ!これが正解だから、前回のが「バッドノウハウ(?)」なんですね。余分な空間用divもなくなり、ほんますっきりやわぁ。 ただ、どうも前回の元記事は「画面をコンテンツのボックスより小さくしても、ボックスの左上が欠けない」というところがポイントだったようです。たしかにウィンドウサイズを小さくすると、左上隅にボックスがきっちり収まります。ここにこだわらない場合は、短縮版がよさそうですね。 HTML、CSS、共に勉強不足ですので、直接指摘頂けるのは大変助かります。コメントを書く時間を頂けたことを、感謝しております。ではでは。 雑記軽い気持ちでHTML/CSSのことを書くと、なぜか反響が大きく、戸惑う。なんとなくプロ
(via Subtech Watchlist - typester) Collection & Copy - 上下左右中央の件、改善、補足コメント頂き、改善、補足を書きました。 CSS vertical center using float and clear 上記、CSSで上下左右の中央にボックスを配置するページを読みました。要約すると以下のHTMLになるようです(必要なものも削っちゃったかも)。ポイントとなるスタイルシート設定にコメントを入れました。 CSS、きっと分かってる人には、あったりまえなんだろうなぁ。「float:left」と「clear:left」がペアで対応してるんですね。あと、marginのautoはIEで、うまく動かないのか。余白用のブロック(distance)は、まず画面の縦半分の長さで空間を確保し、本文のブロックの半分のサイズだけマージンを減らして、ちょうどよい
JavaScript毎日、調べ物をして、コードを書いて、ルービックキューブやってます。サーバー側とクライアント側のHTML部分、またですが、コンセプトコードを書いてみました。HTMLを、こんな感じ、html(body({bgcolor:'gray'}))、に書きます。関数が要素、オブジェクトが属性、配列でこれらのまとまりも表せる、というMochiKit類似のラインで考えています。 ファイルの上半分はこんな感じです。HtmlBuilder.tagに、h4やbrなどのHTML生成関数をくっつけてます。 使うコードはこんな感じです。isと、okはテスト関数です。 withを使って、沢山あるHTML関数を、グローバルに落とさないようにしてます(遅くなるかな...?)。update(this, HtmlBuilder.tag)で、状況によってはグローバルに下ろしちゃうと速くなると思います。 Moch
(thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu
配列の先頭の要素を取得する 練習 var a = []; a[15] = 150; a[20] = 200; ok( void(0) === a[0]); ok( void(0) === a.slice(0,1)[0] ); ok( void(0) === a.shift() ); ok( car(a) == 150 ); function car(a){ for(var i in a) return a[i]; } Permalink | コメント(0) | トラックバック(0) | 08:20
JavaScriptページロード時にプログラムを実行するためにwindow.onloadやbody.onloadがしばしば使われる。しかし、ページ内に大きな画像が存在する場合などは、画像のロードを待つため、実行が遅れてしまう。「ドキュメントのロードが終わっていて、かつ、イメージのロードが完了する前」に関数を実行する方法のリンク2つの要点をコピー。 script要素defer、DOMContentLoadedイベントを利用する方法The window.onload Problem - Solved! Firefoxの場合非公式のイベントハンドラ、DOMContentLoadedを利用する。 // for Mozilla browsersif (document.addEventListener) { document.addEventListener("DOMContentLoaded",
練習以下は、クッキーの削除とログインを行い複数のアカウントを切り替えるブックマークレットです。配列に格納されたユーザIDを順番に循環しながらアカウントを変更していきます。はてなのサイト内なら任意の場所で実行できます。 javascript:(function(){var p="pass",us=["id1","id2"],ui=0,e=new Date,h="hatena.ne.jp",d=";domain="+h+";path=/";with(document){try{ui=++(cookie.match(/ll=(\d+)/)[1])%us.length;}catch(ex){}e.setMonth( (e.getMonth()+1)%(12));cookie="ll="+ui+d+";expires="+e.toGMTString();cookie="rk="+d;location
JavaScript(found at Code Snippets: Capitalize) function capitalize(str){ return str.replace(/\w+/g, function(word){ return word.charAt(0).toUpperCase() + word.substr(1).toLowerCase(); }); } ok(capitalize("aBC dEf GHI") == "Abc Def Ghi"); replaceの第2引数に、関数を入れられることを学んだ。『JavaScriptビジュアル・リファレンス (Web Designer’s Handbook Series)』(これについては書きたいことがありますよ)でも、『JavaScript』でも触れられていなかった。追記ECMA-262 3rd Edition - 1
1分でわかるJSAN 技術 概要 JSANは、他のライブラリをインポートするライブラリです。 リポジトリ リポジトリは、ライブラリの検索対象のパスです。 JSAN.addRepository()で追加します。 JSAN.includePathにリストされます。 デフォルトのリポジトリは「.」と「lib」です。 JSAN.use() ライブラリをインポートするには、JSAN.use()を使います。 クラスがロードされます。 個々の関数もグローバルコンテキストへロードされます。 JSAN.require() クラスのみをロードします。 「Test.Simple.plan()」のように、全部書けば呼び出せます。 グローバルコンテキストを汚しません。 JSAN.exporter() ロード済みのクラスから、好きな関数をグローバルへ置き直します。 関数が使いやすくなります。 好きなライブラリの、好き
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く