1 (изменено: Rumata, 2021-08-26 09:47:06)

Тема: WSH,VBS,JS: JScript: новая волна (обсуждение Chakra)

Данная тема создана для обсуждения Chakra, относительно нового движка Microsoft JavaScript. Ранее коллега greg zakharov поднял соответствующую тему в "Коллекции" - JScript: новая волна.

Сжатое описание из той темы:

greg zakharov пишет:

В Win10 среди прочего есть chakra.dll - библиотека реализующая современные веяния JavaScript. Её, за рядом некоторых ограничений, можно вполне использовать в написании продвинутых сценариев, реализующих различные алгоритмы.

Предмет обсуждения мне интересен и я задал следующий вопрос.

greg zakharov пишет:

Несколько слов относительно упомянутых ранее ограничений. Главным образом они касаются в скудном взаимодействии с прочими COM, что, впрочем, нивелируется посредством WSF. Из минусов также следует указать обращение к движку через GUID.

Примерно года полтора-два назад меня спрашивали о поддержке Chakra в рамках jsxt/wsx, которые я шатко-валко сопровождаю (см. историю здесь https://github.com/ildar-shaimordanov/jsxt2 и здесь https://forum.script-coding.com/viewtop … 52#p138152). Но я до сих пор не нашел внятного ответа, как относительно просто можно включить новый движок туда.

Приведите, пожалуйста, примеры использования Chakra совместно с WSF. Спасибо.

( 2 * b ) || ! ( 2 * b )

2 (изменено: Rumata, 2022-05-17 21:21:27)

Re: WSH,VBS,JS: JScript: новая волна (обсуждение Chakra)

К вопросу о Chakra (или JScript9) и попытках его определить.

Пока я нашел только такой способ.

В стандартных jscript-скриптах:


WScript.Version == "5.812"
ScriptEngineMajorVersion() == 5

В Chakra-скриптах:


WScript.Version == "5.812"
ScriptEngineMajorVersion() == 11

То есть:


var isJScript = isJScript5 = parseInt(WScript.Version) == ScriptEngineMajorVersion();
var isChakra  = isJScript9 = parseInt(WScript.Version) != ScriptEngineMajorVersion();

Насколько это востребовано - не знаю. Скорее всего - мало кому нужно. В MS Edge, кстати, используется именно Chakra.

Еще кое-что интересное можно почитать по этой ссылке:
Ответ на вопрос: What is the ProgId or CLSID for IE9's Javascript engine (code-named "Chakra")

( 2 * b ) || ! ( 2 * b )