1. ホーム
  2. javascript

[解決済み] Javascriptを使用しています。'window'が定義されていない

2022-03-03 19:43:10

質問

JavaScriptを勉強しているのですが、次のようなコードで困っています。

window.onload = function () {
    for ( var i = 0; i < seats.length; i++) {
        for ( var j = 0; j < seats.length; j++) {
            document.getElementById(getSeatId(i, j)).onclick = function(evt) {
                getSeatStatus(getSeatId(i, j));
            };
        }
    }
    document.getElementById("search").onclick = findSeat;
    document.getElementById("male_search").onclick = findMaleSeats;
    initSeats();
};

外部のJSファイルからで、そのページにリンクされている唯一のファイルです。 findSeat , findMaleSeats , getSeatId および initSeats はすべて、このファイルの少し後で定義されています。このファイルをダブルクリックすると、次のようなエラーが表示されます。

Windows Script Host
Error: 'window' is not defined
Code: 800A1391

私はすでに、コードをファイル内の他の場所に移動したり、別の関数(空の関数でも可)を window.onload などなど、いろいろあります。ただ、私のコンピューターは、何が window があります。そして、ブラウザでHTMLを開こうとすると、何も読み込まれません(期待通り)。

何が問題なのか、どなたかご存知でしょうか?

解決方法は?

<ブロッククオート

外部jsファイルからで、そのページにリンクされている唯一のファイルです。

OKです。

このファイルをダブルクリックすると、以下のエラーが表示されます。

.jsファイルをダブルクリック/実行しているようですが、これはコマンドラインスクリプトのように、ブラウザの外でスクリプトを実行しようとするものです。それでこのエラーは説明できます。

Windows Script Host Error: 'window' is not defined Code: 800A1391

... ブラウザで見るようなエラーではありません。そしてもちろん、ブラウザが供給するのは window オブジェクトを作成します。

ADDENDUM : 対処法としては、該当するものを開くことをお勧めします。 HTMLファイル をクリックし、コンソールを覗いてみてください。もし、何も表示されないのであれば、それは、あなたの window.onload の定義が単に打たれているだけです。 を実行すると、ブラウザは window.onload イベントが発生します。