スポンサーリンク

javascript

JavaScriptの動かないコード (中級編) iframe内のDOM要素を別フレームにコピーできないエラー

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: 同じフォルダにtenki.htmlがあり,天気が書いてある。その情報を,DOM要素ごと抜き出す。 index.html <body> <input type="button" value="クリックして表示" onClick="f()"><br> <iframe id="ifr" src="tenki.html"></iframe><br> <table> <tbody> <tr id="my_tr"> <td>上のページの情報によれば,今日の…</td></tr></tbody></table></body>

JavaScriptの動かないコード (初級編) 関数が返り値を return できないエラー (セミコロンの罠)

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: 現在時刻を表示する。 <input type="button" onclick="f()" value="現在時刻を表示"> <script language="JavaScript"> function f(){ alert( getNow() ); } // 現在時刻の文字列を返します。 function getNow(){ var d = new Date(); // 1:23…

JavaScriptの動かないコード (中級編) iframe内にDOMアクセスできないエラー

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: tenki.htmlの中に,天気が書かれている。 index.htmlのインラインフレーム内に tenki.html を表示して,その内容を解析する。 ※2つのHTMLは,同…

 グラデーションや影を,JavaScriptで付ける方法 (画像を使わず jQuery だけでクロスブラウザなWebデザイン)

HTML要素の背景にグラデーションをかけたい場合,色つきの画像をそのボックス要素の大きさに合わせて作り,背景として指定する方法がある。 しかし画像をいちいち個別に作るのは面倒だ。 (CSSで背景画像のサイズを自動調整する方法は無い。貼る個所のサイズ…

Firefoxのサイドバーを作ろう (XUL形式のアドオンでbrowser要素を設定する方法)

前回,下記の記事で,Firefox の簡単なアドオンの作り方を述べた。 画面上の邪魔なものを自動ブロックする Firefox プラグインの作り方 (XPI アドオンを自作しよう) http://language-and-engineering.hatenablog.jp/entry/20081129/1227955571 これを使え…

画面上の邪魔なものを自動ブロックする Firefox プラグインの作り方  (XPI アドオンを自作しよう)

Webサイトを閲覧しているとき, 広告が邪魔だ, 画像がけばけばしい,表示したくない と感じる事がある。 もしページ読み込み時に,「現在表示中のサイトと関係のない要素」をブラウザが自動判別して,非表示にしてくれたら便利だ。 では,そのような Firefo…

JavaScriptの動かないコード (中級編) 不要なイベントが連鎖で発生してしまう  (バブリングの対処)

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: 右図のような「クリックゲーム」を作る。 赤い部分をクリックしたらゲームオーバー。 <div id="jirai" style="background-color:red; width:200px; height:200px;" > 地雷源 <div id="goal" style="background-color:green; width:50px; height:50px; position:relative; top:50px; left:50px;" > 安全地帯 </div></div>

JavaScriptの動かないコード (中級編) イベントの詳細情報を第一引数で取得できない

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) 何かキーを押すと,キーコードを表示します。 <script language="JavaScript"> // キー押下時のイベントリスナを設定 document.onkeydown = f; function f( e ) { // キーコードを表示 alert( </script>…

Java のスクラップブックを HTML + JScript で作る (HTAで子プロセスを操作)

スクラップブックとは,Javaのソースコードの「断片」を,その場ですぐ実行できるというツール。Eclipseに付属しており,ちょっとしたメソッドの動作確認をしたい時に重宝する。 ちょっと動かすだけじゃない、eclipseスクラップブックページのとても便利な使…

JavaScript で,クリックした座標に点を追加できるグラフチャートを描画する方法 (jQuery のプラグイン jquery.sparklines / jquery.flotの使い方)

JavaScriptプログラミングのTOPへ JavaScriptを使って,ブラウザ上でグラフチャートを作成する事ができる。 折れ線グラフ 棒グラフ 点だけでプロット のようにグラフの種類を変えたり,色を付けたり,プロットした点をマウスで操作したりすることもできる。I…

はてなダイアリー編集画面のリンク元を集計するブックマークレット (簡易アクセス解析)

JavaScriptプログラミングのTOPへ 現在,当サイトのリンク元は,googleだけで1日300件ぐらい。 目を通しきれなくなってしまった。 使い慣れたアクセス解析を導入する事も考えたのだが,はてなの詳細編集画面以外にさらに別の画面を開くのが面倒くさい。 そ…

JavaScriptの動かないコード (中級編) onKeydownイベントが認識されない

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: 画面を開いているとき,何かキーボードを押すと,別のページにジャンプする。 <body> 何かキーを押すと,Yahooにジャンプします。 <script language="JavaScript"> function f() { // </script></body>…

JavaScriptの動かないコード (中級編) DOMで子要素を指定する際のエラー

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) <body> <table border=1> <tbody id="my_tbody"> <tr><td>この行がコピーされます。</td></tr> </tbody> </table> <input type="button" value="行をコピー" onClick="f()"> <script language="JavaScript"> function f() { // tbody中の最初の行を取得 var old_element = my_tbody.childNodes[0]…</body>

JavaScriptの動かないコード (初級編) with文にまつわるエラー

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: 「はい」ボタンと「いいえ」ボタンの押下を区別して応答する。 ボタンのトータルの押下回数も表示する。 <input type="button" value="はい" onClick="f(1)"> <input type="button" value="いいえ" onClick="f(0)"> <script language="JavaScript"> function f( num ) // 引数が 1 :「は…

JavaScriptで .exe ファイルを作る方法  (jsc.exeの使い方)

JavaScriptプログラミングのTOPへ JavaScript(JScript)のコードから,.exe形式のアプリケーションを簡単に作成することができる。

JavaScript をコマンドラインで実行する方法  (mshta.exeの使い方)

JavaScriptプログラミングのTOPへ 問JavaScriptで,100以下の素数を列挙するコードを作成し実行しなさい。ただし 1ミリでもマウスポインタを動かしてはいけません。 1バイトでも新規ファイルを作成してはいけません。 さあ,どうぞコーディングを始めて下…

JavaScriptの動かないコード (中級編) jsonオブジェクトをevalできないエラー

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) <input type="button" value="「1」と表示" onClick="f()"> <script language="JavaScript"> function f() { var str = "{x:1}"; // JSONオブジェクトにする var obj = eval(str); // プロパティを表示 alert( obj.x ); } </script>

バッチで文字列を置換する (JScriptでテキストファイル処理)

バッチのまとめTOPへ テキストファイル中の文字列を置換する場合, 普通はエディタの置換機能を使うだろう。 しかし,それが何度も行なうルーティンになっている場合,手作業をしてはいけない。 ミスが混入しないように,毎回の置換作業をバッチに任せるべき…

今から3分で qUnit の使い方を身に付ける (JavaScriptの単体テスト)

qUnitは,JavaScriptコードを単体テストするためのライブラリ。qUnitはjQueryプロジェクトから派生して誕生した。jQueryを使わない普通のコードであっても,回帰テストの対象にできる。 このテストツールの初歩を,今から3分で習得するための記事。

JavaScriptの動かないコード (中級編) イベントハンドラに同じ関数を2回以上追加したい

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: ボタン押下時に, 2 と表示する。 そのために,0に1足す操作を2回行なう。 <input type="button" value="「2」と表示" id="my_button"> <div id="my_div"></div> <script language="JavaScript"> // 初期化 var a = 0; // a に1足して表示 function f(){ a++;…

JavaScriptで,動的に追加されたイベントリスナの実行順序を保証する方法

JavaScriptプログラミングのTOPへ 前記事では下記のような事を述べた。 Firefoxのイベントリスナーが複数ある場合,追加された順に実行される。 IEのイベントリスナーが複数ある場合,追加順には実行されないし,追加順の逆順でもない。実行順序を予測する事…

JavaScriptの動かないコード (中級編) 動的追加したイベントの実行順序 ( addEventListener vs attachEvent )

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: ボタンへ動的にイベントリスナを追加する。 ボタン押下時に,0, 1, 2 とアラート表示する。 <input type="button" value="「0, 1, 2」と表示" id="my_button"> <script language="JavaScript"> function f0(){ alert( 0 ); } function f1(){ aler…

JavaScriptの動かないコード (初級編) 配列とオブジェクトの宣言エラー

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) <input type="button" value="クリックして表示" onClick="f()"> <script language="JavaScript"> function f() { // 配列 var a = new Array( "H","e","l", "l","o",",", "w","o","r", "l","d","!", ); // Hello,world! と表示 alert( a.join("") ); // オ…

JavaScript ショートコーディングの10のコツ (ブックマークレット作成時に重宝するテクニック集)

JavaScriptプログラミングのTOPへ 数日前の わずか1.7キロバイトのJavaScript マリオ風のゲーム (脱力系) http://language-and-engineering.hatenablog.jp/entry/20081006/1223209263 という記事では,JavaScriptのショートコーディングを少し試みた。 そ…

JavaScriptの動かないコード (中級編) Ajax読み込み時に「システムエラー -1072896658」

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: Ajaxを使って,a.htmlに外部ページ(b.php)を読み込む。 下の例ではjQueryを使っているが,べつにprototype.jsでも,素のXMLHttpRequestでもよい。…

わずか1.7キロバイトのJavaScript マリオ風のゲーム (脱力系)

1.7キロバイトのJavaScriptで,一応,右画像のようなスーパーマリオ風のゲームができた。 (1.3キロバイトに改良されました。) こちらからプレーできます http://www.name-of-this-site.org/coding/game/aamario.html 遊び方: 右・左キーで移動,上キーで…

JavaScriptの動かないコード (中級編) innerHTMLに閉じタグを書き込む時のエラー

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: innerHTMLに「終了タグ」と「開始タグ」を書き込むことにより,元からあったタグを2分割する。 <div id="div0"> <div id="div1"> 分割前 </div> </div> <input type="button" value="divを分割して2つに" onClick="f()"> <script language="JavaScript"> function f() { // タグを2つに分割…

jQuery をSQLの「select文」のように使う方法

JavaScriptプログラミングのTOPへ jQueryオブジェクトを,まるでSQLのselect文のような呼び出し方で使える関数を作成した。 面白いだろうと思ってやっつけで作ってみたのだが,下記のようなコードが書ける。 jselect( "select * from document where id = p1…

ハワイ語表記への文字列変換フォーム (JavaScript)

多言語を学ぶ目次へ ハワイ語は,ハワイ諸島先住民の言語で,アルファベットがたった12文字しかない。自分の名前をハワイ語に変換すると,どうなるだろうか? 文字が少ないので音も少ない ページはこちら ソースコードは下記 コードの解説 太平洋の言語に…

JavaScriptの動かないコード (中級編) 正規表現で同じ文字の連続を検出したい - 置換前パターン中での後方参照

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: 同じアルファベットの連続した並びを,それぞれ1文字にまとめる。 例: "good apple" → "god aple" <script language="JavaScript"> function matomeru( str ) { // 正規表現を…