0

添付されているのは、開発者コンソールのスクリーンショットです。クロージャ定義に構文エラーがあります。

JavaScript 構文エラー

次の機能を持つ JavaScript ファイルがあります。別の関数から JavaScript ファイルを読み込んで呼び出しsampleFunction()ています。

var sampleFuntion=function(obj){
    //Statement here;
};

しかし、Firefox では、関数の宣言/定義である最初の行に構文エラーが表示されます。

Windows 7 で Mozilla Firefox 29.0.1 を使用しています。

コードの実際のエラーは何ですか?

4

3 に答える 3

1

これは、HTTP リクエストの応答ヘッダーとコンテンツのタイプで返される「コンテンツ タイプ」/「MIME タイプ」(またはメディア タイプ) [コンテンツと MIME タイプ、どちらもまったく同じではない]の違いが原因で発生します。ファイルからロードされています (この場合は、その " JavaScript " コンテンツ)。MIME タイプが言及されていない場合、Firefox はデフォルトで " Content-Type " を " application/xml " と見なしますが、これは適切なタイプではありません。

デフォルトのコンテンツ タイプは、次を使用して確認できます。

yourXHRObject.getResponseHeader('Content-Type');

したがって、Firefox Dev Tool は上記のエラーをスローします (ええ、FF は手がかりを与えません!!!)

解決:

yourXHRObject.overrideMimeType(' text/javascript '); または yourXHRObject.overrideMimeType(' application/javascript ')

リクエストを送信する前に、このGitHub スレッドで説明されているように。"text/plain" を overrideMimeType() に送信しても、エラーは表示されなくなります。ただし、技術的には、上記のいずれかが「text/plain」よりも適しています。

于 2016-10-02T22:13:50.707 に答える
-1

私が Firefox コードベース内で見つけることができる「整形式でない」唯一の例は、XML パーサー内からのものです... スクリプトが正しく含まれていることを確認してください。

また、「1 行目」が、たとえば、constant.js 内から行われた eval または innerHTML セットまたは同様のものを参照している可能性もあります。

于 2014-05-28T12:41:12.263 に答える