javaScript



 
テキストファイル
 

 ブラウザはtxtファイルを表示できる。 すべてをHTMLにしなければならない訳でもない。txtファイルを PDFでインターネットに流すのはどういう意味か理解できない 。Macintosh、Windows、UNIXワークステーション。どのTXTでも問題なく表示するブラウザが誕生したのだから。それまでのPDFの功績には敬意を表すのだが。
ネット閲覧時のメモ
 ハイパーリンクはいかにもインターネット風で新鮮だったが、 最近そうでもなくなった。ページは流れるように上から下へと 読んで見たいと思う。
         
メタデータ(metadata)とは?
「データ記述を含むデータ要素に関するデータ,並びにデータの所有者,
 アクセス経路,アクセス権及びデータの変更度に関するデータ。」と定義
される。
メタデータは,データ整備における二重投資の回避とデータ相互利用を
進める鍵である。
 「国土地理院地理情報クリアリングハウス」では,利用のために定められた
カタログ情報(Japan Metadata Profile; JMP)について公開しています。
JMP1.1a解説書 2001.03.22 
http://zgate.gsi.go.jp/ch/jmp/jmpguide.htm

クリアリングハウス(clearinghouse)とは?「手形交換所」

地理情報クリアリングハウス・ゲートウェイ(分散検索システム)
http://zgate.gsi.go.jp/
     
     
 表を用意しておいてテキストを流し込む。<PRE>タグはこの時便利だ。 これがないと空白が無視されるHTMLでは悲惨なのだが。
         
   <CENTER>
       <TABLE cellPadding=10 width=300>
         <TR>
          <TD bgColor=#dfefff>
<PRE>



</PRE>
     </TD></TR>
    </TABLE>
   </CENTER>
     
     
 そのため、こんなTEXT用のタグを用意してある。


 
フォームのTEXTEREA
 

 FORMにテキソトボックスという部品がある。これを うまく使えないだろうか。


 ハンドルマークが出るのが、ちょっと気になる。これもケースバイケース。
 Netscape Navigator4以前では、<FORM>〜</FORM>内に記述しないと無視されたが、単独でも使える。いまIEが90%の利用率だから Netscape Navigator4以前を意識しなければ便利な部品だ。
 書き込み用なので閲覧者が書き込みが出来る。 <FORM>〜</FORM>の内側にRESETボタンをセットしておくと 、ボタンをクリックで追記部分がクリヤされる。

 
フォームのonClickとFunction
 

 FORMのINPUT部品と連携すると面白いことができる。


    


 フォームは、ACTION属性を付け、INPUT部品のどれかに SUBMIT指定をしてCGIでサーバーにデーターを転送する。これが一般的 な使い方。
 ローカルで利用するならSUBMITは使わない。INPUT部品の「書込み」は TYPE="BUTTON"とし、onClick=""にjavaScriptが指定してある。

 上のライン入力から文字を入力し追加して行くシステムだ。既成 の部品で簡単に入力コーナーができる。
 オブジェクト指向のjavaScriptから考えると、このTEXTEREA部品は、documentという「このページ」オブジェクトに乗っている。その上のFORMというオブジェクトのTEXTEREA部品オブジェクトである。オブジェクトであるからプロパティーがあり、 内容のtextはVALUEプロパティーである。これだけを整理してみると、 プログラムできる。

 
InlineFRAMEを使う。
 

 FRAMEにInline Frameというのがある。ウィンドウを 分割して使うのがFRAMEだが、ページの中に矩形のフレームを作成するのがInline Frame。表示だけなら、こちらの方がいいかもしれない。ただ、Netscape Navigator6以上が必要。IEはVer3から利用できた。


表示ファイル



 インラインフレームに,例えば”TXT”と名前をつけ、とりあえずリンクしたファイル を再リンクの時にa href="blxy.txt" target="TXT"などで切り換えができる。これはフレームと同じ操作方法だ。

 javaScriptのオブジェクトは階層構造になっている。上位から、
ウィンドウフレームドキュメントフォームエレメント
の順である。インラインフレームはどんなオブジェクトなのだろう。
window.TXT.document
これが、テキストのオブジェクトフルネイムだろう。ブラウザにより開かれたウインドウ が1つの場合、windowは省略できる。

 locationオブジェクトのhrefプロパティーでtxtファイルを指示できる。
TXT.document.location.href
 ここまで分れば、javaScriptでこのプロパティー を操作して表示TXTファイルを切り換えることが出来る。


 
FRAME内文字検索
 


検索文字



 インラインフレーム内のtxtそのものは、TXT.document.body
これを、文字列変数に取込めばキーワード検索ができる。

var msg=TXT.document.body.createTextRange().text

TextRangというオブジェクトを作りtextプロパテーで取り出す。そのあと、検索語を.blinkでフラッシュしたいのだが。TXTでは 効果がない。HTMLに変換するのだろうか。研究課題だ。


 FORMタグを使わずに、単独て使ったINPUT部品の名前をmojiとした場合、
window.document.moji.value
これが、検索文字テキストのフルネイムだろうか。

javaScriptで操作するにはFORM階層は省略できないようだ。

 
テキストファイルを保存する。
 


 WindowsOS のマイクロソフトはjScriptにOSのファイルsystemを開放して いる。具体的にはFileSystemObjectというオブジェクトが用意されています。
 MSGの内容をTXTファイルに保存することを考えましょう。

var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();
「このコード例では、ActiveXObject オブジェクトを FileSystemObject オブジェクト (変数 fso) に割り当てます。次に、CreateTextFile メソッドを使って TextStream オブジェクト (変数 a) としてファイルを作成し、WriteLine メソッドを使って作成したテキスト ファイルに 1 行のテキストを書き込んでいます。さらに、Close メソッドを使ってバッファをフラッシュし、ファイルを閉じます。」
(Windows スクリプト テクノロジ > FileSystemObject オブジェクト より転載)

今回は、
var TxtOut = new ActiveXObject("Scripting.FileSystemObject");
var outMSG = TxtOut.CreateTextFile("d:\\MSG.txt", true);
outMSG.WriteLine(msg);
outMSG.Close();

jScriptにファイル入出力オブジェクトTxtOutを用意する。
このオブジェクトにd:\MSG.txtを割り付けoutMSGと言う名前の TXTオブジェクトとする。
outMSGのTXTプロパチにmsgを代入する。
d:\MSG.txtを閉じる。

 以上でTXTファイルの基本操作が揃った。自家用windowsアプリを作れる。 当然マイクロソフトWindowsOS 限定のアプリだが、自家用ツールなら これで十分。

 ActiveXObject はウイルスの問題でネット公開は制限されるべきだと思う。このページで考えて見よう。作成者の私の 思い通りのファイルを貴方のハードデイスクに保存できることになる。 プレーンナTXTしか使っていませんが、無用なトラブルの原因を作るのは 差し控えるべきだろう。上の保存ボタンは無効にしてあります。必要ならクリップボード経由でコピー&ペーストしてください。


HTMLクイックリファレンス
マイクロソフトのjScriptリファランス


2003.10.29
by Kon