slimc.com
こんな属性があるのを知らなかった。 実際には、Iframe の属性ではなさそうだが。 どうも、javascript で以下のように指定してあげる事により、 リッチなテキスト編集機能が有効になるようだ。 iframe.contentDocument.designMode = "on"; ちょっとサンプルを作ってみた。 選択範囲の色変えたり、画像貼付けたり出来ます。 http://gomibako.hahaue.com/rth.html (Firefox only) 実際に文字の状態を変化させたりしたい場合は、 同要素の execCommand メソッドを使用すればよい。 たとえば、文字を太字にしたい場合は、 以下のように指定するだけで良い。 iframe.contentDocument.execCommand("bold",false,null); 色を赤くしたければ、 iframe.con
Overview Lightbox JS is a simple, unobtrusive script used to overlay images on the current page. It's a snap to setup and works on all modern browsers. Note: An new version of this script is available: Lightbox JS v2.0 Example To make sense of it all, check out these examples. Click on a thumbnail or text link below: Benefits Places images above your current page, not within. This frees you fr
hail2u.net - JSONPに同期リクエスト snippets from shinichitomita’s journal - 非同期処理をシーケンシャルに扱うために を読んで、以前 prototype.js ベースでメソッドを逐次実行する仕組みを作ったのを思い出しました (id:reinyannyan:20060223:p1, id:reinyannyan:20060227:p1)。 コマンド・パターンを利用して、コマンドを、それを管理するオブジェクト (センター、マネジャー) に預けることで、簡単に大量の逐次処理が出来るようにしたものです。 例えば var x = new XMLHTTP; large_url_list.each(function(url) { x.get(url, callback); });のような、一度に大量の HTTP リクエストをする様なケースで、呼び
アブストラクト JavaScript Templates(以下JST)はTrimPathプロジェクトにおけるテンプレート処理(MVCのV)を担うライブラリです。基本SyntaxはFreeMarker, Velocity, Smartyなどに似ており、ライセンスは、APL(Apacheライセンス)とGPL(GPL2)のデュアルライセンスである。 サンプルソース tpl = "${foo}${bar}"; context = {foo:"shogo", bar:"4405"}; tplObj = TrimPath.parseTemplate(tpl); result = tplObj.process(context); alert(result); // shogo4405 になりませんか? 基本API JSTのコール(環境により異なります) <script language="javas
CJTK - JSONPとJavaScriptを使ったテンプレートキット作った JSONPなどでデータを取得して、HTML中の任意なAttributeにマクロを埋むタイプのテンプレートキットを作りました。 別にJSONPじゃなくても、staticもデータ構造を定義する事も出来るし、Ajaxサポート書けばAjax経由でデータを取得できます。 マクロ展開はDOM探索で色々処理をしています。 Model = JSONP 、 View = DOM って感じかも。 他にもJKL.Hinaや、JSmartyなどがあります、大きな違いは専用構文を利用しないでテンプレート展開が出来たりと、かなりシンプルです。 他の特徴は ・DOM操作のみでテンプレート展開 ・JSONP対応 ・テンプレート用のデータ領域を用意する事無く、HTMLに直接テンプレートを記入出来る ・データ展開先を設定不要。class要素などか
Tremend Tech Blog Spreadsheet dojo widget Click here for a demo of the spreadsheet widget. It is based on release 0.3.1 of dojo toolkit.Javascriptを使ったブラウザ上で動作するExcelシートライブラリ。 Dojoをベースにコンポーネント化されていて、サイト上からダウンロード可能です。 書体フォーマット変更やフォントサイズ、関数まで使えます。 これはすごいですね。 →ライブラリのダウンロード
JSONP が Opera だと非同期処理できない http://d.hatena.ne.jp/secondlife/20060906/1157515075 に書かれているとおりOperaだとscript要素を足した瞬間にJavaScriptの実行が止まって、ロード完了まで後続のスクリプトが実行されなくなります。 サンプル http://la.ma.la/misc/js/opera_jsonp_test.html そこで、リクエストの度にダミーのIFRAMEを作って、そのIFRAME内のcontentWindowで実行するという方法を試してみました。 IFRAME内でJSONをロードするサンプル http://la.ma.la/misc/js/iframe_jsonp_request.html なんかIEで動かないっぽいけど気にしない。相変わらずタイマーは停止しますが、appendChil
8 ヶ月前に setInterval 書き換えのネタで作ったやつ id:amachang:20060104:1136344836 id:amachang:20060114:1137243389 ふと ちょっと設計変えたらすごく速くなる気がして、作り替えてみた。 でも、作ってみたら clearInterval がちょっとだけ速くなったけど、正直そこまで変わらなかった。 でも、設計はきれいになったと思うので公開します。 ダウンロード http://sample.ecmascript.jp/setInterval/setInterval03.js 以前のもファイル化した 最初の失敗作(utf-8だから適当にエンコードして使ってください) 次に作ったやつ、実績はこっちのがある(utf-8だから適当にエンコードして使ってください) 使いかた すべてのスクリプトより前に読み込む <script src
2006年09月23日01:30 カテゴリLightweight Languages javascript - ページはいつ再描画されるか 大変に有用な考察だが、一つ重要な指摘漏れがある。 IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 setInterval、setTimeout、イベントによる関数の実行を理解することだと思う ページがいつ再描画されるか、ということである。 未経験者は、document.write()やelement.innerHTML = "foo"のように、ブラウザーに「書き出した」点でそれが直ちに反映されると思うだろう。 ところが、そうではないのである。 実例を見てみよう。以下のscriptを考えてみる。ボタンを押すと、ボタンのラベルが1000から1までカウントダウンした後、元通りになることを意図してい
youtubech.comがお気に入りで、いつも使わせていただいてます。 ふと思い立って普通のアプリケーションみたいに起動できたらなあと思って↓のようなスクリプトを作ってみました。YoutubePlayerLite.jsみたいに好きな名前(拡張子はjs)で保存しておきます。次回からはそれをダブルクリックなりで実行すれば、ポップアップウィンドウでプレイヤーが開きます。 var IE = new ActiveXObject("InternetExplorer.Application"); IE.AddressBar = false; IE.MenuBar = false; IE.StatusBar = false; IE.StatusText = ""; IE.ToolBar = false; IE.Visible = true; IE.Resizable = false; IE.FullSc
話題のsetTimeoutについて、ちょっと調べてみた。 IT戦記殿(id:amachangさん)の記事には、大雑把に言って、ふたつのことが書いてある。 ひとつは、これ。 document.write("hoge\n"); setTimeout(function(){ document.write("fuga\n") }, 1000); document.write("piyo\n"); 普通に JavaScript を使いこなしてる人なら、hoge → piyo と表示して、 1 秒後に fuga が表示されるな。って思うはずなんです。 でも、 JavaScript を始めたばっかりの人の中には、 hoge と表示したあと 1 秒後に fuga → piyo と表示するな。って思ってる人が非常に多い。(経験的に) IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがち
JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 http://d.hatena.ne.jp/amachang/20060910/1157911122 上記はてブコメント http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/amachang/20060910/1157911122 JavaScriptがシングルスレッドなのは仕様? http://d.hatena.ne.jp/ajiyoshi/20060911 でsetTimeoutの仕様について熱く語られている.私も興味を持ったのでざっと調べてみた. まず超基本的な話としてマルチプロセスなOSにおいて完璧な 時間制御というものは無理ということだ.これは話を極端にして 「1万個ブラウザ立ち上げてきっちり1msecごとになにかをさせようとしたらちゃん
おそらく、JavaScript を使いこなす肝は setInterval、setTimeout、イベントによる関数の実行を理解することだと思う 例えば 次のコードの結果を考えたとき document.write("hoge\n"); setTimeout(function(){ document.write("fuga\n") }, 1000); document.write("piyo\n");普通に JavaScript を使いこなしてる人なら、hoge → piyo と表示して、 1 秒後に fuga が表示されるな。って思うはずなんです。 でも、 JavaScript を始めたばっかりの人の中には、 hoge と表示したあと 1 秒後に fuga → piyo と表示するな。って思ってる人が非常に多い。(経験的に) 何故か? たぶん、どのサイトの setTimeout の説明を見て
Introduction The Windows Script Encoder (screnc.exe) is a Microsoft tool which can be used to encode your scripts (i.e. JScript, ASP pages, VBScript). Yes: encode, not encrypt. The use of this tool is to be able to prevent people from looking at, or modifying, your scripts. Microsoft recommends using the Script Encoder to obfuscate your ASP pages, so in case your server is compromised the hacker w
まずはこれを見てください。 http://sample.ecmascript.jp/bench.htm このような感じで FireBug のコンソールを表示させて 適当なサーバにある benchmark.js を読み込んで benchmark.at('firebug')({ 'テスト1': function() { ... } }); って感じで、どんなサイトでもパフォーマンスを計ることが出来ます。 何が嬉しいのか いちいちサービスの JavaScript を書き換えて計測する必要がない。 思いついたときに、パフォーマンスチェックができる。 FireBug を入れていない、または Firefox 以外でパフォーマンスを計りたい場合 URL 欄に javascript:(function(){var s=document.createElement('script');document.bo
最近 またしても、JavaScript のベンチマークを取らなければならない仕事が来たので、 ツールをキレイにしました。 それを公開します。(ダウンロードは一番下にあります。) 使い方 script タグで benchmark.js を読み込んで、以下のように連想配列の関数群を渡すだけです。 benchmark({ 'ほげほげの計測': function() { ...... }, 'ふがふがの処理の計測': function() { ...... } }); 結果は以下のように表示されます。 *** ほげほげの計測 *** result : 0.0011[ms] *** ふがふがの処理の計測 *** result : 0.111[ms] 表示された秒数は 関数の中身を一回だけ実行する時間です。 関数呼び出しのコストは差し引かれています。 また、FireBug を使っている場合は benc
最近の Prototype.js LL Ring でも言ったけど、まったくもって 4 ヶ月間更新なしだった。。。 しかし! ここ、 1 週間でこんなに更新があった! http://dev.rubyonrails.org/changeset?new=spinoffs%2Fprototype%404950&old=spinoffs%2Fprototype%404236 ということで、新しい機能まとめ DOM 要素に observe, stopObserving Element.Methods に observe が追加された。 var handler = alert.bind(null, 'クリックありがとう!'); $('target').observe('click', handler); // うーん、直感的! $('target').stopObserving('click', han
マイクロソフトのドキュメントに書いてあったので、 実際にやってみた。 どうも、ローカル変数にグローバルオブジェクトへの参照を キャッシングすると速くなるようだ。 http://www.microsoft.com/japan/msdn/columns/dude/dude100499.aspx たとえば、window オブジェクトを使用するときは、 以下のようにすれば速くなるっぽい。 var w = window; // 以後、w を使用する。 グローバルオブジェクトへの直接アクセス 通常の使い方。 4464 ms window.global = 0; (function(){ console.time("test"); for(var i=0; i<1000000; i++){ window.global++; } console.timeEnd("test"); console.log(
#5= {} JavaScript #5= {} このコードはなんなんだ。 #5と=の間にスペースを入れるとエラー。 #5=5とか#5=''とかもエラー。 #5=はどこ行っちゃうの。 Permalink | コメント(1) | トラックバック(1) | 22:14
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く