設定要使用的 JavaScript 版本
以 JavaScript 語言撰寫原則時,您可以設定用於原則的 JavaScript 版本。
在 Impact 原則 JavaScript 檔案中,將下列行新增至原則開頭 (即原則檔案中的第一行):
//#VERSION_1_7
這將指示 JavaScript 使用 VERSION_1_7
版。
您可以設定的其他 JavaScript 版本如下:
//#VERSION_1_6
//#VERSION_ES6
//#VERSION_1_5"
下表說明每一個註解的用途:
指引 | 版本 |
---|---|
|
JavaScript 1.5 |
|
JavaScript 1.6 |
|
JavaScript 1.7 |
|
ECMAScript 2015 |
Impact 隨附的 Mozilla Rhino 版本 JavaScript 會使用較舊的 parseInt
ES3 解譯,其中 0X
字串會被視為八進位整數而非十進位。
在這個 JavaScript版本中,下列程式碼在 JavaScript 原則中都傳回 NaN
(不是數字) ,而不是整數:
parseInt("08"); // expect 8 but we get NaN
parseInt("09"); // expect 9 but we get NaN
若要修正此問題,請將 JavaScript 版本設為 VERSION_1_7
,以在原則中使用。
如果原則檔中未設定要使用的 JavaScript 版本,則 JavaScript 所使用的預設版本將指定為 VERSION_DEFAULT
,其值為 0
。 如需 JavaScript 實作,請參閱 Rhino 文件: https://mozilla.github.io/rhino/
.
您可以透過將 com.micromuse.response.common.parser.JavaScriptPolicy
類別的 Impact 記載層次設為 debug
,來檢查執行原則時所使用的 JavaScript 版本。 所使用版本的輸出將記載在 Impact 日誌檔中。
下列日誌訊息指出 JavaScript 正在使用 VERSION_1_7
版:
[JavaScriptPolicy] !execute: Setting JS VERSION=170
下列日誌訊息指出 JavaScript 正在使用 VERSION_DEFAULT
版:
[JavaScriptPolicy] !execute: Setting JS VERSION=0