0

次の疑似ロジックを使用して、多数のテキスト ファイルから情報を読み取り、結果を画面に表示する HTA を作成しました。

  • ディレクトリをループし、各テキスト ファイルの内容を配列に追加します。
  • 配列の 2 次元構造をループしてテーブル レイアウトを構築する
  • setInterval タイマーを使用して自分自身を更新する

    私はもともとそれを完全に機能する純粋なvbscript/HTMLで書きましたが、表示された結果を3番目の列または配列[x] [2]値でソートする方法が必要でした。

そこで、配列の使用法がはるかに友好的で高速であるため、javascript に切り替えました。擬似ロジックが次のようになるように関数を書き直しました。

  • ディレクトリをループし、各テキスト ファイルのコンテンツを JAVASCRIPT 配列に追加します。
  • JAVASCRIPT 配列を array[x][2] idx でソートします
  • セパレーターを使用して 2D JS 配列を文字列にフラット化します
  • ソートされた JS 文字列を VBS 配列に分割し、まったく同じ方法でテーブル レイアウトを作成します。
  • setInterval タイマーを使用して自己を更新する

構文エラーを解決した後、最初の HTA 読み込みは意図したとおりに完全に機能します。しかし、setInterval() の更新時に、一般的な JS エラーが発生します。

  • ライン1
  • キャラ:1
  • エラー: オブジェクトはこのプロパティまたはメソッドをサポートしていません
  • コード: 0
  • URL: file:///pathToHTA.hta

setInterval() で使用している更新関数全体をコメントアウトして、関数が呼び出されるようにしましたが、実際には何もせず、まだエラーが発生します。

ここからどこへ行くべきか途方に暮れており、このエラーの原因について誰かが私にいくつかの指針を与えることができることを望んでいます. 前もって感謝します。

4

1 に答える 1

0

だから私は問題を見つけました:

なんらかの理由で、スクリプト宣言の順序を入れ替える必要がありました。エラーのある元のものでは、次の順序でスクリプトを宣言していました。

<script type="text/javascript">
   ...
</script>

<script type="text/vbscript">
   ...
</script>

修正は、(何らかの理由で) 宣言をフリップフロップしなければならなかったことです。

vbscript関数が最初にリストされ、javascript関数が2番目にリストされるように順序を変更したところ、これでエラーが解決されました....なぜそうなったのか誰にもわかりますか?

于 2010-12-08T16:39:06.740 に答える