eval()の呼び出しに構文エラーや未定義の変数などがあるかどうかを調べることができるかどうかを知りたかったので、 javascriptには、そのevalのエラー出力をキャプチャする方法はありますか?eval javascript、構文エラーがないか確認する
答えて
エラーが実際にSyntaxErrorであるかどうかをテストすることができます。 Mozilla documentation for eval
によると
try {
eval(code);
} catch (e) {
if (e instanceof SyntaxError) {
alert(e.message);
}
}
:
のevalは最後に評価された式の値を返します。
だから、あなたは運が悪いと思う。この同じドキュメントでは、eval
を使用することをお勧めします。
eval()は危険な関数で、呼び出し元の権限で渡されたコードを実行します。 eval()を悪意のある当事者の影響を受ける可能性のある文字列で実行すると、ウェブページ/拡張機能の権限で悪質なコードが実行される可能性があります。さらに重要なことは、サードパーティのコードはeval()が呼び出されたスコープを見ることができ、同様の機能が影響を受けないような攻撃を引き起こす可能性があることです。
この機能を使用する前に、リスクに注意してください。
eval being evilについて、ゴールデンルール:ユーザー入力を評価しないでください。自分で定義したeval文字列のみをサーバーから取得します。はい、MiTM攻撃ですが、サーバーを信頼できない場合は、より大きな問題があります。 – CularBytes
http://www.jslint.com/には、javascriptで書かれたjavascriptパーサーが含まれています。それはあなたのコードに関する多くの情報を提供し、よりリラックスできるように設定することができます。
特定のタイプのエラーをキャッチするためにtry catchを使用する場合、他のタイプの例外抑圧された。そうでなければ、評価されたコードが異なる種類の例外をスローすると、コードが消滅し、予期しない動作が発生する可能性があります。
私はこのようなコードを足すことをお勧め:
try {
eval(code);
} catch (e) {
if (e instanceof SyntaxError) {
alert(e.message);
} else {
throw(e);
}
}
"他" のセクションを注意してください。
throwは関数ではありません – Dev
- 1. ACEの変更ハンドラでJavaScript構文が有効かどうかを確認
- 2. Javascriptを確認するエラー
- 3. ルビー:(evalの):1:構文エラー、私は次の構文エラーになっています
- 4. JavaScript RegEx構文エラー
- 5. JavaScript XMLHttpRequest構文エラー
- 6. Javascript Program構文エラー
- 7. 構文エラー:JavaScriptの
- 8. 構文エラーが
- 9. Javascriptの構文エラーが予期しないトークンが無効
- 10. このストアドプロシージャの構文エラーを確認します
- 11. コマンドラインからのC#構文の確認
- 12. jQuery JSONエラー:構文エラー、認識できない式
- 13. 奇妙なjavascriptの構文エラー
- 14. jqueryでエラーがないか確認する方法.validate()
- 15. Javascript if/else構文エラー
- 16. Javascriptパターンの構文エラー
- 17. JavaScript関数パラメータ - 構文エラー
- 18. 構文解析エラー:予期しない構文エラーです。
- 19. Python3 Unicode文字が存在しないか確認する
- 20. MySQLのエラー:「あなたのSQL構文でエラー;右の構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください」
- 21. PHP構文解析エラー:構文エラー、予期しないT_ECHOがあります
- 22. エラー:キャッチされない例外:構文エラー、認識できない式:inputnum
- 23. 構文エラー:予期せぬ構文エラー$ end - コードが間違っている箇所が見つからない
- 24. 文字列concanination行でこのエラーが発生する構文エラー:予期しない構文エラーT_CONSTANT_ENCAPSED_STRING in
- 25. セミコロンがない - jshint - 構文エラー?
- 26. PHP構文エラーが予期しない '}'
- 27. JavaScript e.keyCodeが印刷可能な(制御できない)文字であるかどうかを確認する
- 28. メールボックスが特定のデータベースにあるかどうかを確認する(構文エラー!)
- 29. 構文エラー - グリッドからeval()を呼び出してJavascript関数を呼び出す場合
- 30. javascriptの構文エラー:キャッチされていない表現
なぜ私は自分自身でこれを試していないのだろうと思っています。どうもありがとう! –
@イエス - あなたが疑問に思っている事実は良いことです。とにかく、幸運。 – ChaosPandion