JavaScript

SBMCommentsViewerのdel.icio.usコメントが出なくなっていたのでパッチ当て

中の人に取り込んで頂けましたので、「Last Modified: 2007.05.30」以降をインストールすれば以下のパッチは不要です。http://white.s151.xrea.com/wiki/index.php?script%2FSBMCommentsViewer なんかdel.icio.usがおかしいのでパッチ当て。おかしいのはσ(゚∀…

次々と子猫を表示してくれる『Random Kitten Generator』を表示してくれるGoogle Gadgets(2)

難点は幅に合わせて画像を縮小してくれないこと。 画面解像度が高くないとつらいかもしれない。 とトラックバックを頂いたので自動リサイズを付けてみました。→randomkittengenerator.xmlURLは変わっていませんので、ひょっとしたらキャッシュされちゃってる…

JavaScriptでHMAC-SHA1がやりたい

良さげ http://pajhome.org.uk/crypt/md5/sha1src.html c⌒っ*゚∀゚)っφ メモメモ...

TrimPathを使おうとしたらJSTLとバッティングした。

TrimPath.processDOMTemplate('template', {"data":"1"}); てな感じのとき <textarea id="template"> ${data} ${data} ${data} </textarea> と書くと、${data}がJSTLで評価されてしまい、サーバーサイドで空っぽになってしまう。 テンプレート部分だけELを無効にしようと調べてみたけど、pageデ…

「JavaScriptパワーについて勉強。」をやってみた。

追記 artonさんからトラックバックを頂きましたので、記述を追加しました。 JavaScriptパワーについて勉強。をやってみた。1.○ 2.× 3.× 4.○ 追記 4番は演算子の優先順位と、それだけではなく偽が0となるという振る舞い。ここで、ではfalseという定数はなんだ…

特殊な状況下にあるXHTML文書でJavaScriptを動かす場合、色々動かない場合がある

なお、以下はFirefoxの話です。要素名を大文字でこのように書くと document.createElement('DIV'); document.getElementsByTagName('DIV');ノードの生成はできるけどstyleプロパティがundefinedだったり、ノードの探索ができなかったりします。代わりに小文…

JSONScriptRequest:JavaScriptのメモリリークを意識するようになった

JSONScriptRequestを更新しました。→JSONScriptRequest-0.03 メモリリークしているとの指摘を頂きましたので、とりあえずDOMリークのみ修正をしました。恥ずかしながらJavaScriptに関しては、今までメモリリークのことなど考えたこともありませんでした。ペ…

Google Maps APIをDOM経由で読み込む(document.writeをDOM仕様にする)

(head要素にappendChild(script)してもダメなのはなんでだろう?) この記事読めば分かるぞ。良かったな>昔の俺 Google Maps APIは、外部JavaScriptを読み込むためにdocument.write()を使っているので、タグによって読み込まないと動きません。script要素…

JavaScriptでオブジェクトプロパティのキーに空文字列が使えるみたい

なんだけど、とっても怪しいので仕様を確かめようとしたら、どこを見ればいいか分かんなかった(´・ω・`)ダレカ オチエテ… var obj = {'': 'empty_string'}; alert(obj['']);で「empty_string」が出ます。IE6.0/Firefox2.0。

JavaScriptから外部JavaScriptを読み込む方法

最新版はこちら → JavaScriptで外部ライブラリを読み込むためのスクリプトをCodeRepos.orgに上げた。 - ヒルズで働く@robarioの技ログ 改良に伴い、エントリーを全面的に書き換えました。 後から再利用できるように名前を付けました(ScriptRunner) 外部Jav…

ブックマークレットを作成するブックマークレット

週末はのんびり過したい。外部スクリプト読み込み型のブックマークレットを作成するブックマークレット。 javascript:(function(){js=prompt('URI');prompt('Bookmarklet',"javascript:(function(){var s=document.createElement('script');s.type='text/jav…

Sjaxを使わないJavaScript Loader

最新版はこちら → JavaScriptで外部ライブラリを読み込むためのスクリプトをCodeRepos.orgに上げた。 - ヒルズで働く@robarioの技ログ id:amachangさんの社外勉強会の資料 (JavaScript 依存解決手法) - IT戦記を読ませていただきました。最近作ってみた自作…

JavaScriptの連想配列に格納した順序

var hash = {zzz:1, aaa:2, nnn:3}; for (var key in hash) { alert(key + ' = ' + hash[key]); } // Bookmarklet javascript:(function(){var hash = {zzz:1, aaa:2, nnn:3}; for (var key in hash) { alert(key + ' = ' + hash[key]); } })();こんな感じで…

FireBugのtime,timeEndを使って、ページ読み込み完了時間を手軽に計測

FireBugのコンソールに以下を入力。 document.open();document.write('<script>console.time(1);</script><iframe src="http://www.example.com" onload="console.timeEnd(1);">');document.close();多少のずれはご勘弁。 onload後にゴニョゴニョ動くページでは期待通りの値じゃないかもね。</iframe>

StartForceでアプリケーション開発はちょっと辛い楽しい

アカウントを作っておきながら数ヶ月放置していたアルクでお金を借りるならちょっと待って!を再発見。今更ながらStartForce用のアプリケーションを少し書いてみた。まあとりあえず動かし方は分かった。それにしても開発し辛い・・・。一度実行するとブラウ…

見たいファイルのパスが環境毎に異なるので何とかしたい

長い間病気で倒れておりました。リハビリエントリ。A環境 D:/office/root/.firefox/bookmarks.html D:/office/root/program/js/index.html B環境 C:/home/root/.firefox/bookmarks.html C:/home/root/program/js/index.html それぞれSubversionで共有されて…

JSONScriptRequestのデモ[Ajax][JSON][API]

http://www.openjsan.org/doc/y/yo/yoshida/JSONScriptRequest/0.02/を使って、ユーザーローカルWikipedia API - ウィキペディア情報をサイトで利用できるAPIを呼び出すデモを録画してYouTubeにアップしてみました。・・・(;´Д`)ウウッ…手元では綺麗なのにYouTub…

FireBug.consoleに{length: 整数}を渡すと固まる(・∀・)ブラクラ!!

Wikipedia APIを使ってみようと思って、受け取ったJSONをconsole.infoに出力しようとしたらFirefoxが固まり「スクリプトを停止しますか?」というダイアログが出ました。 本当に意味不明だったのですが、色々調べていくとWikipedia APIの出力結果に含まれて…

明記はされていないけどExamples of Usageではthisって書いてる

W3C 的にはどうなんだろう。 http://www.w3.org/TR/XMLHttpRequest/ 読んでみたけど特に明記されてないように思う。明記はされていないのだけれども、Examples of Usageではthisって書いてるんだよなあ。トラックバックついでなのですが、RegExp#test,RegExp…

JSONScriptRequest-0.02[Ajax][JSON][API]

参考:JSONScriptRequest.js:XMLHttpRequestの代わりに<script>を使って通信するライブラリ 参考:JSONScriptRequest.js:XMLHttpRequestの代わりにscript要素を使って通信するライブラリ XMLHttpRequestのようにJSONP(Remote JSON)APIの呼び出しを行なうJSONScript…

IEではfor-in構文で列挙されないプロパティがある

for-in構文で余計なプロパティが出るという話は良く聞きますが、自分で設定しても出てこないプロパティがあるのは知りませんでした。以下のように、いくつかプロパティを設定してfor-in構文で回してみました。 var object = { constructor: function() {}, p…

RegExp#test,RegExp#execの引数にundefinedやnullを渡すと文字列として扱われる

みたいです。ショック。例えば先頭に英小文字を含むかどうかを調べる時、 var str; /^([a-z])/.exec(str); // testでも同様とすると、 strがundefinedのときはRegExp.$1 = "u"("undefined"の先頭)、 strがnullのときはRegExp.$1 = "n"("null"の先頭) と…

キャッチする例外の型を指定するには

Firefoxではcatchに条件式が書けるので、以下のように例外の型を指定できます。 var Exception1 = function() { }; var Exception2 = function() { }; try { // throw new Exception1(); throw new Exception2(); } catch(e if e.constructor == Exception1)…

IEでinnerHTMLを変更できない場合がある

Prototype.jsのElement.update読んだらちゃんと対策されてた。 だそうです。 久々に「ハメられた!」という気分になりました。 ビューとモデルを分離するために、昨日JavaScript版簡易Template-Toolkitをちょろっと書いて使っていました。その時点では上手く…

location.hashデバッグ(小ネタ)

DECONでmalaさんが言っていたJavaScriptのデバッグ方法 alert debug window.status debug document.title debug に追加でlocation.hash debug。 <script type="text/javascript"> location.hash = 'DEBUG'; </script>それなりに使えるかも。と思ったらIEでは無限ループになっちゃいました。使えねー。

toSourceってこんなに便利だったのね(2)

先のエントリtoSourceってこんなに便利だったのね - ヒルズで働く@robarioの技ログの絡みで、id:higeorangeさんがOpera用のtoSourceを作ってくださいました。Opera用とありますが、そのままIEでも動きましたので早速使わせていただいております。感謝感謝。…

toSourceってこんなに便利だったのね

恥ずかしながら最近になってやっとtoSource関数の便利さが分かりました。今まではデバッグ中にFireBugのconsole.info(object)を実行して、中身を確認するためにマウスでポチポチとInspectしていましたが、object.toSource()としておけば中身をすぐ確認できる…

が禁止されているブログなどでJavaScriptを使う

記事自体に<script>が書けなくても、デザインテンプレートの変更で<head>などに書くことができちゃったりするブログがあります。そうすると、デザインテンプレートの方で <script type="text/javascript"> window.onload = function() { var elements = document.get</script>…

JSONScriptRequest.js:XMLHttpRequestの代わりにscript要素を使って通信するライブラリ[Ajax][JSON][API]

JSONPコールの際、グローバルな関数を用意してその名前を渡さなきゃいけないのはいけてないな〜と思ってXMLHttpRequestを真似して作ってみた。ちょっと長いので、ソースは貼らずにダウンロードリンクを置いておきます。つJSONScriptRequest-0.01.tar.gz JSON…

getElementsByClassName

ビールを飲みながら404 Blog Not Found:javascript - 炎上係数経由でぐだぐだ過ごしてしまった。getElementsByClass() - にぽたん研究所 なんでj++なん?pushじゃないん?と思いつつgetElementsByClass(IE,Firefox対応版) - 技術情報メモ getElementsByCla…