JavaScript

セレクトボックスの選択肢を連動させる(改)

以前の[id:Mug:20060414#1145023696]において作成していたスクリプトを改造しました。 デフォルト選択について、次のようなロジックを入れました。 指定された値をデフォルト選択可能にした。 指定が無い場合は、現在の値をなるだけ引き継ぐようにした。 Sel…

JAVAサーブレットのモックアップツール

JAVAサーブレット&JSPでウェブサービスを構築するとき、お客様に出来上がりのイメージを見せるためにモックアップを作ることがあります。 先日、このモックアップをJavaScriptだけで作れるフレームワーク的なツールを作ってしまいました。formからサーブ…

JSDのサンプルを更新

JavaScriptのソースコードからドキュメントを自動生成できるJSDコンパイラ*1。最近はJSDコンパイラを改良するのは中断して、ECMAScriptネイティブのJSDを生成させるためのソースを作っていました。現在、手元に存在するクラス全てを一度にコンパイルした結果…

JavaScriptで本格プログラミング(3)

前回から結構あいだが開きましたが、今回はvar宣言について述べてみます。 var宣言と関数の関わりについて以下に例を出してみます。 やりたいこと 例えば以下のようなオブジェクトtargetがあるとき、 var target = { onclick : function() { alert("Click ta…

JavaScriptで本格プログラミング(2)

JavaScriptでよく言う「ユーザー定義オブジェクト」を作るための関数をクラスのコンストラクタだとするならば、staticフィールドはどのように作成するかというと… とりあえず、コンストラクタのメンバに値を持たせる 次のように、prefixとsuffix、そしてprot…

JavaScriptで本格プログラミング(1)

JavaScriptで多段継承したクラスをいくつも作ったり、public/privateなメンバ・メソッドを実装するにはどうしたら・・・。と、それだけが「本格」ではありませんが、よく見るような“スクリプト”的なコードだけではなく、通常のコンパイラ言語のようなコード…

他人のウェブページに任意のリンクを追加するブックマークレット

気になるページで使っているスクリプトをダウンロードしたいとき、アドレスバーにURLを直打ちしたくないので、作ってみました。 javascript:void)((function(){var n=document.createElement("div");var s=prompt("URL",location.toString())(;if(s){n.inner…

やっと(1157010937)の複数対応版ができた

完成しました。はてなは「はてな表記法」のエスケープ処理がたいへんなため、以下のリンク先に置きます。 以前の記事でソースの一部(ScriptLoaderクラス)を出していますが、今回はそれも含んでいますので、完成品としては下記参照先のもので1そろいとなり…

サブクラスがFireFoxで動かない(1157010937)

細々とScriptLoaderのサブクラスを作っていました。 しばらくの間、動作確認がIEに偏っていたらFireFoxで動かなくなっていた・・・。 そろそろ折り返し地点だと思うんだけれども。

JSDコンパイラがまともな結果を出すようになってきた

JSD*1のコンパイル結果がまともなものになってきました。 ウェブアプリ作成のお仕事では、JSはJAVAのjavadocのように納品物を作成しづらいのですが、これがあれば・・・と思っています。http://www2.u-netsurf.ne.jp/~mug/utility/4creator/ClassPackagingTo…

外部JSファイルのダイナミックロードクラス(1157010937)

とりあえず、◆外部JSファイルのダイナミックロードクラス└◆document.writeができるようにしたサブクラスという継承構造のクラス2つで外部JSファイルのロード部分にしようかと思います。スーパークラス側は汎用的にしておいて、サブクラスでdocument.writeに…

基本的な処理方針(1157010937)

※この記事はhttp://d.hatena.ne.jp/Mug/20060903の改修案件です。後から見づらいと思うのでタグをつけました。1157010937では長いので、下3桁で937とします。この記事以前の投稿は、時系列(上から下へ)下記のものです。 元はこの質問でした。http://q.hat…

はてな質問に対する回答のその後について

http://q.hatena.ne.jp/1157010937での回答で、何か書くと言った分の投稿です。【結論】 このブログ上で、考えて、修正していこうかと思います。*1【理由】 時間がないから。 タクシーor徹夜はギリギリ防いでいるけれど、毎日ほぼ終電&休日出勤当たり前の状…

IEが強制終了(落ちる)バグを報告したときの内容を公開します。

以前のIEのバグ報告の結末で言った、“同じ原因に起因する同じ現象や解説をネット上で発見した(された)とき。”が該当しましたので、ここにそのときの情報を公開します。 ※Microsoftからの返信メールについては、以前の記事をご覧ください。発見先: http://…

document.writeとストリーム

※1157010937の回答の1/4document.write(以降、writelnも含む)は、読み込んでいるファイルのストリームの最後に内容を書き出します。静的なdocument.writeの場合 <html> <head> <script type="text/javascript"><!-- var x = 10; document.write("x = 20;"); alert(x); //--></script> </head> <body> </body> </html>を読み込むとき、alert(…

外部JSファイルの動的ロード

※1157010937の回答の2/4スクリプト処理の中でロードしたいJSファイルを決定し、スクリプトで外部スクリプトファイルの読み込みを行う方法を説明します。document.writeで読み込む1157010937の回答の1/4のサンプルの中で、外部JSファイルdispTime.jsを動的に…

後からロードした外部JSファイルでdocument.writeする(1)

※1157010937の回答の3/4ファイルの読み込み後にロードした外部JSファイルでdocument.writeするときの問題点を洗います。 【writer.js】 // document.writeする var str = '<div style="background-color:orange;">外部JSファイルによって作成されたHTML要素です。</div>'; document.write(str); // HTML側…

後からロードした外部JSファイルでdocument.writeする(2)

※1157010937の回答の4/4今まで挙げた問題点をふまえ、以下の要望を満たす方法を考えます。 HTMLファイルのロード後に外部JSファイルを読み込む 読み込む外部JSファイルの<script>タグを含んだHTMLのソースが、おおもとのネタ 外部JSファイルは、読み込まれたときにdo…

Ajaxの価値とは

Ajaxブームもそろそろ下火になってきたと思います。「なぜか?」から「どうしたら?」まで考えてみました。※記事を載せる時間すら減ってはいますが、通勤時間などでJavaScript・Ajaxなどに関して考える時間はあるので、ここでその間に考えたことをメモしてお…

JScriptコンソールの実践的な使い方

以前に書いたJScriptコンソールですが、意外とアクセスがあるようなので、私がやっている実践的な使い方を載せたいと思います。※(前提)以前に紹介したJScriptのファイルを、console.jsとします。 ※(注意)一部のフォルダ・ディレクトリを***とさせていた…

document.open()でスコープチェーンが破壊される?

私はローカルPCにJavaScriptの調査や実験結果によってわかったテクニックや情報をいろいろと保存しています。忘れた頃に「なんだったっけなぁ〜」と思いながら探すためです。 今日は、なんとなくフォルダの下を眺めていたら、「document.open();によるスコ…

静的状態管理 〜第5回〜

今回で静的状態管理に関する連載(?)も最終回となりました。 静的状態管理についてまとめたいと思います。静的状態管理の特徴・考え方一連の処理の中で時間的にある一瞬を切り出して見たとき、その(時間的な)前後に頼ることなく、周囲の画面要素や変数な…

静的状態管理 〜第4回〜

機能追加の例(課題)下記のチェックボックスを5つ追加して、 service □News □BBS □RSS □Mail □Schedule ・GuestのときはNewsかBBSのみ選択可能にし、残りはチェックを外して非活性にする。 ・1つも選択されていないときはOKボタンは非活性になる。 (こ…

はてな監修のAjax本

株式会社はてなが監修したAjaxとJavaScriptプログラミングに関する本を出すらしいです。 http://d.hatena.ne.jp/keyword/Ajax%a5%a4%a5%f3%a1%a6%a5%a2%a5%af%a5%b7%a5%e7%a5%f3%cd%df%a4%b7%a4%a4%a1%aa気になるけど、応募*1はやめておきます。なぜならば、…

静的状態管理 〜第3回〜

課題の解答例以下の3つのJSファイルを作成し、HTMLで読み込みます。 クラスファイル前述のものなのでソースは省略 状態定義・判定 (function() { //-------------------------------------- // ラジオ - Guest var radioGuest = ElementManager.createInsta…

静的状態管理 〜第2回〜

クラスの例ベースとなるクラスの例を挙げます。 CPTのCPTコアに依存しない形で定義したクラスです。 /** * 画面要素マネージャークラス定義 */ var ElementManager = (function() { //:V Proto クラスのprototypeオブジェクト var Proto = Class.prototype; …

静的状態管理 〜第1回〜

効果があるのは効果があるのは次のような画面管理です。 動的に変化する項目が多い 静的に状態を定義できる “静的に状態を定義できる”とは、「入力項目Aの値が1で、プルダウンBが3ではないとき、入力項目Cは非活性」というように、時間的なある一瞬を切り…

静的状態管理 〜第0回〜

昨今のAjaxブームでJavaScriptが見直されているのご存知の通りだと思います。HTML+CSS+JavaScriptでリッチクライアントなウェブアプリケーションを作成していると、その画面操作が煩雑になってくるはずです。これは、各種画面操作(イベント)と各画面要素の…

JSDコンパイラの進捗

変換のコアは前回ほとんどできたので、修正ばかりいろいろと。 XSLTがほぼ完成。 GUIは画面アイデアを紙ベースで案を作成。 というところです。ちなみにサンプルです。 JSDコンパイル結果(前回から少し修正) それをXSLTでXHTMLにしたもの ↑これらが、JSの…

普通っぽい日記(その2)〜JScriptコンソール〜

JavaScriptコンソール*1はだいぶ前に作っていましたが、JScriptのものがないので作ってみました。〓JScriptコンソール〓 ※拡張子jsで保存 (function() { var stdIn, stdOut, stdErr; if( (typeof WScript) != "undefined") { var execFile = WScript.FullNam…