クライアントスクリプトであるJavaScriptで下記のようなファイル存在確認は可能でしょうか?

JavaScriptはindex.htmに記述。index.htmからみて「./file/a.txt」を探し、存在する場合は
index.htmに「あった」と表示。存在しない場合は「なかった」と表示。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:aki73ix No.1

回答回数5224ベストアンサー獲得回数27

ポイント50pt

http://tohoho.wakusei.ne.jp/wwwssi.htm

そのファイルは現在ありません

Javascriptでテキストファイルの存在を確認するのは無理です

SSIを使いましょう

P.S.無理 win.openで小細工してやってみましたが、ファイルが存在しなかった場合に返すサーバーテキスト 404.htm等と、ページがあったときの区別がJavascriptでは区別できないようです

http://www.atmarkit.co.jp/fxml/askxmlexpert/032makelist/032makel...

ファイルの一覧の取得と、そのファイルのタイトル一覧作成

id:smileless

ありがとうございます。

やはりできませんか。

SSIの方、検討してみます。

下記は*.jsファイルの読み込みreadyStateを応用してやろうとしたのですが

うまく動作しないようでした。

(特にelseの部分)

<script language=”javascript” type=”text/javascript” id=txtfile src=”./file/a.txt”></script>

<script language=”javascript”></p> <p> <!--//</p> <p> //この関数には、外部JSファイル内に記述した内容を呼び出すために用意しています。</p> <p> </p> <p> //外部ファイルが準備OKかどうかをチェックする</p> <p> if (txtfile.readyState == ”complete”){</p> <p> document.write(”おさがしのファイル、みつかりやした(ロード完了)”);</p> <p> }</p> <p> else{</p> <p> document.write(”おさがしのファイル、ないっすよ(ロードできない)”);</p> <p> }</p> <p> //--></p> <p> </script>

2004/06/03 09:36:10
id:ohmix1 No.2

回答回数235ベストアンサー獲得回数14

ポイント23pt

ご要望とは多少異なりますが、ファイルに特定のデータを入れることができるのなら、以下のようなトリックも可能です。

<img src=”a.jpg” onload=”alert(’img:load’);” onerror=”alert(’img:error’);”>

a.jspがイメージファイルならonload、ファイルが無かったりイメージファイルでなければonerrorイベントが発生します。

(リファレンスにはあるのですが)<script>タグではonloadやonerrorイベントは発生しません。

ですが、以下のようにすれば、a.txt内にJavaScriptが記述されているかどうかは判別できます。

-----a.txt---------

var vLoad = true

-----a.txt---------

<script language=”javascript” type=”text/javascript” src=”js.txt”></script>

<script language=”javascript”>

<!--//

//この関数には、外部JSファイル内に記述した内容を呼び出すために用意しています。

var vload

//外部ファイルが準備OKかどうかをチェックする

if (vload){

document.write(”おさがしのファイル、みつかりやした(ロード完了)”);

}

else{

document.write(”おさがしのファイル、ないっすよ(ロードできない)”);

}

//-->

</script>

いまのところ思いついたのはこのくらいです。

ファイルの有/無をJavaScriptでチェックするのは難しそうです。

id:smileless

なるほど、とても参考になりました。

ファイルの中身を替えることは出来ないのですが、

勉強になりました。

ありがとうございました。

2004/06/10 10:59:12
id:ohmix1 No.3

回答回数235ベストアンサー獲得回数14

ポイント23pt

IE限定でよけれはXMLHTTPコンポーネントを利用してファイルの有無をチェックできます。

2回目なのですが、ご要望にかなわなければ申し訳ありません。

<HTML>

<BODY>

<script language=”javascript”>

<!--//

var objHTTP = new ActiveXObject(”Microsoft.XMLHTTP”);

objHTTP.Open(”GET”, ”a.txt”, false);

objHTTP.Send();

//外部ファイルの読み込みがOKかどうかをチェックする

if (objHTTP.status == 200){

document.write(”おさがしのファイル、みつかりやした(ロード完了)”);

}

else{

document.write(”おさがしのファイル、ないっすよ(ロードできない)”);

}

//-->

</script>

</BODY>

</HTML>

id:smileless

ありがとうございます。

2004/06/10 10:59:38

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • kozihの日記 - [web] 2008-05-09 22:18:29
    [web] 使える!JavaScriptサンプルブック 新しいウィンドウを常に前に表示する &lt;!-- function focusing(){ window.focus(); } window.onload=focusing; window.onblur=focusing; //--&gt; &lt;/script&gt; (閉じる) クライアン
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません