[JavaScript][VBScript]VBScript + Javascriptで簡単プロジェクト内ツール。その2

Read more →

[JavaScript][VBScript]VBScript + Javascriptで簡単プロジェクト内ツール。その1

プロジェクトでIE6上で動く VBScript + JavaScript + HTML のツールを作ってみた。 なんで今更?IE6? 会社の中では未だに頑固にIE6が標準だーって会社は多いのさ。 本当は HTML5 + JavaScript で作りたかったけど仕方ない。 会社のみんなにChromeやFireFoxを強制的にインストールさせるのは面倒だからね。 要件はある固定長インターフェースファイルを使ったテスト用に、 テキストファイルを別のフォーマットに変えてくれ。(ファイルI/O) 要件は流動的に変わる。インクリメンタルにイテレーティブに。 実装工数はインフラの空き時間を使って。 この用件ならhttpアクセスで画面はHTMLインターフェースでやるのが適当かなと思った。 ついでに皆標準的に入れてるブラウザはIE6。 ファイル I/O 部位を VBScript に任し、 他の挙動を JavaScript で制御するのが適当か? 以下その場合の注意点 VBScript のファイルI/Oを有効化するにはIE6の設定変更が必要 メニューバーの【ツール(T)】より【インターネットオプション】を起動します。 【セキュリティ】タブを選択し、【レベルのカスタマイズ(C)…】ボタンをクリックします。 【スクリプトを実行しても安全だとマークされている ActiveXコントロールのスクリプト実行】を有効にします。 これを画面の最下部に常に表記。 で、まずはFile I/O部のVBScriptコード 注意点は読み込んだ内容をJavaScriptに渡す場合、 配列渡しはうまくいかなかったので、 適当な区切り文字をはさんで渡し、JavaScript側でSpritしたことと、 動的な配列が定義出来なかったのでReDimとPreserveを多様したこと 書き込み Function FileOutput(FULLPATH,TXT) Dim objFSO, objFile Set objFSO = CreateObject("Scripting.FileSystemObject") If Err.Number = 0 Then Set objFile = objFSO.OpenTextFile(FULLPATH, 8, True) If Err.Number = 0 Then objFile.Write(TXT & vbcrlf) objFile.
Read more →

[JavaScript]BookMarklet覚書

Read more →

[JavaScript]tbodyのinnerHTML

ちょちょいとした計算ツールを使用するのにJavaScriptは便利だ。 だが問題がある、IEとFirefoxでは同一のスクリプトが動いたり動かなかったりすることがある。 今回はtbodyタグに関する話。 計算結果を表形式で表したい時にHTMLのtableタグを使用する。 得にtbodyタグの中身を可変編集することはよくするテクニックの一つだ。 以下のコードを見てもらいたい。 -–HTML -–javaScript function main(){ //HTML上のtbodyを取得 var tb = document.getElementById(“tableBody”); //書き込む内容を作成 var tbHTML = ‘1hoge’

  • ‘2hogehoge’; tb.innerHTML = tbHTML; } 上記コードはFireFoxやChromeだと動くのだが、 IEでは動かない。 ナンデエエエと思って調べてみると。 **Internet Explorer で ** PRB エラー設定 table.innerHTML http://support.microsoft.com/kb/239832/ja tbodyのinnerHTMLは読取り専用だと! なのでこう書かないといけない。 -–javaScript function main(){ //HTML上のtbodyを取得 var tb = document.getElementById(“tableBody”); //DOMオブジェクトを作成 var tr = document.createElement(’tr’); var td1 = document.createElement(’td’); var td2 = document.createElement(’td’); //作成したオブジェクトを組み合わせてtbodyの中を作成 for(var i = 1; i < 3; i++){ td1.innerHTML = i;
Read more →