dポイントプレゼントキャンペーン実施中!

javascriptでローカルのtest.txtを1行ずつ読み込みたいため、ネットでtxtファイルの読み込みのコードを
探したら、自分のやりたいのに一番近いなと思う

http://www.happy2-island.com/vbs/cafe02/capter00

が見つかりました。

しかし、貼り付けて実行しても何も表示されません。

objParm(0)を"test.txt"
objFileSys.BuildPath(strScriptPath,strFileName)を
"file:///C:/Users/aaa/Documents/javascript"に
WScript.echoをdocument.write
とかに書き換えてみても、test.txtの中身が表示されません。

他にも検索するのですが、ネット上のtxtファイルの読み込み方とか
いまいちなコードしか検索ででてこず困っています。

test.htmlと同じローカルのディレクトリにあるtest.txtを読み込みたいのです

どのように書けばいいのでしょうか。
アドバイスいただけるとうれしいです。

A 回答 (4件)

androidも視野にいれるとなれば、


・イントラネットにWebサーバーを置く(XAMPPとか)
・Webコンテンツとして作成する
・イントラネットにWifi環境を構築して、androidでwifi経由でイントラwebサーバーにアクセス
・オフラインで使用したい場合は、コンテンツをHTML5のアプリケーションキャッシュで実装する
ってところじゃないでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

問題と答えのテキストファイルをネット上におけばできるんだろうなあとは思っていました
ネット上に置くと、誰かの目に触れますよね。
ローカルにテキストを保存して自分だけで、問題を楽しみたかったんですよね。

・オフラインで使用したい場合は、コンテンツをHTML5のアプリケーションキャッシュで実装する
ここは、私のスキルではちんぷんかんぷんで、HTML5も勉強したいなと思ってる段階で
完全な初心者です。
HTML5勉強したらチャレンジしてみようと思います。

それか、Javaは知ってるので、javaでandroidアプリ(apkファイル)を作るのが一番しっくり
くるかなあとも思っています。

お礼日時:2012/06/18 19:59

よんでどうしたいかによりますが


ブラウザで読む必要があるのでしょうか?
windowsであればWSHのvbsを使うのが楽かもしれません
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

皆さんの回答を読んでいて、思ったのが
ローカルのTXTを読むのは難しいのですね。
もっと簡単にできるのかと思っていました。

プログラムはjavascriptで作ったクイズのプログラムです。
Windowsだけで動かすのではなく、
javascriptで書いたtest.htmlをandroidスマホに入れて
androidスマホでクイズプログラムを動かしています。

windowsだけでなくandroidでも実行するので
ローカルのtxtを読み込んでブラウザで表示したいのが本音です。

セキュリティ上難しいということであれば、本屋でjavascriptの書籍を
探しても、私の期待する答えが書いてある可能性は低いですね。

どうしようかちょっと考えようと思います。

お礼日時:2012/06/14 14:19

OSは何をお使いですか?


Vista以降ではデフォルトセキュリティにひっかかりそうです。

http://social.msdn.microsoft.com/Forums/en/ieweb …

試してませんが、IEのセキュリティレベルを最低にして試してみては?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

OSはWindows7です。
ブラウザはChromで実行しています。
IEも試しました。

IEもインターネットオプションからセキュリティレベルを最低の中にしましたが
画面は真っ白です。

ローカルのファイルを読み込むのにセキュリティにひっかかるのですね。
txtファイルをサーバにあげずに、ローカルにおいてそれを読み込みたいのです。

ファイルの読み込みって、しょっちゅう使うものだから
もっとサンプルコードもネットにごろごろ転がってるものだと思っていましたが
なかなかいいのが見つからず、いまだにファイルを読み込めず苦戦しています。

サンプルコード集みたいな、ファイルの読み込みのコードが載っているjavascriptの本
を本屋で探したほうがいいのかなとも思っています。

お礼日時:2012/06/14 13:12

ブラウザがIE以外とかでは?

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
IEでも実行してみましたが、画面は真っ白です。

質問内容のところに書いたURLがなぜか途中でちょんぎれて、リンクに飛んでもNot foundになってしまっているので

見つけたコードを貼り付けます。


//定数の宣言
var ForReading = 1; //読み込み
var ForWriting = 2; //書きこみ(上書きモード)
var ForAppending = 8; //書きこみ(追記モード)

//(1)パラメタ情報の保存
var objParm = WScript.arguments;

//(2)取得したパラメタが1コ未満のときはエラー
if (objParm.length < 1) {
WScript.echo("パラメタが足りません(汗)");

//(3)取得したパラメタが12コより多いときもエラー
} else if (objParm.length > 1) {
WScript.echo("パラメタが多いです(汗)");

} else {
//(4)取得したパラメタが1コのときはOK
//テキストファイルの読み込み処理へ飛ばす
prcTextFileRead();
}

//オブジェクト破棄
objParm = null;

//これ以降はCallなどで呼び出さない限り実行しない。

//=============================================================
//以降はテキストファイル読み込みのプロシジャ
//上の(4)から呼び出される
//=============================================================
function prcTextFileRead() {

var objFileSys;
var objInFile;
var strScriptPath;
var strFileName;
var strFilePath;
var strRecord;

//(6)パラメタを保存(ファイル名として使用)
strFileName = "test.txt";

//(7)プログラムが保存されているフォルダを取得します
strScriptPath = String(WScript.ScriptFullName).replace(WScript.ScriptName,"");

//(8)ファイルシステムオブジェクトの作成
objFileSys = new ActiveXObject("Scripting.FileSystemObject");

//(9)読み込むファイルのフルパスを編集
strFilePath = "file:///C:/Users/akiko/Documents/javascript/";

try {

//(10)ファイルのオープン(読み込みで開く)
objInFile = objFileSys.OpenTextFile(strFilePath,ForReading);

//(11)ファイルのオープンが成功(ファイル有り)のときに実行
//(12)ファイルの内容を全部読み終えるまでループ
do {

//(13)ファイルの内容を1行ずつ読み込む
strRecord = objInFile.ReadLine();

//(14)読み込んだ内容をコンソールへ表示
document.write(strRecord);

} while(objInFile.AtEndOfStream==false);

//(15)ファイルのクローズ
objInFile.Close();

//(16)ファイルのオープンが失敗(ファイル無し)のとき
} catch(e) {
WScript.echo(strScriptPath + "にファイル" + strFileName + "がありませんでした。");
}

//(17)オブジェクトの破棄
objFileSys = null;
objInFile = null;

}

これを改良すればいいのかなと思うのですが、
どのようにすればいいでしょうか。
さらに、echoとか出てるから、そもそもjavascriptじゃないコードなのかなとも思っています。
ファイルの読み込みって基本的な操作だと思うのですが
思うようなコードが検索しても見当たらず困っています。

お礼日時:2012/06/14 12:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!