通过基于 CLSID“{16d51579-a30b-4c8b-a276-0ff4dc41e755}”(如此处所述)创建 IActiveScript 实例,我们得到了 IE9 的 JavaScript 引擎,该引擎在 Quirks 模式下工作。不幸的是,在 Quirks 模式下,ECMAScript 5 不支持。
有谁知道如何为“Chakra”创建一个在 IE9 标准模式下工作的 IActiveScript 实例?
通过基于 CLSID“{16d51579-a30b-4c8b-a276-0ff4dc41e755}”(如此处所述)创建 IActiveScript 实例,我们得到了 IE9 的 JavaScript 引擎,该引擎在 Quirks 模式下工作。不幸的是,在 Quirks 模式下,ECMAScript 5 不支持。
有谁知道如何为“Chakra”创建一个在 IE9 标准模式下工作的 IActiveScript 实例?
投射你IActiveScript
的IActiveScriptProperty
然后像这样调用SetProperty
它SCRIPTPROP_INVOKEVERSIONING
:
CComQIPtr<IActiveScriptProperty> property = jscript;
CComVariant version(SCRIPTLANGUAGEVERSION_5_8 + 1); // = 3
hr = property->SetProperty(SCRIPTPROP_INVOKEVERSIONING, nullptr, &version);
我相信 CLSID 是 16d51579-a30b-4c8b-a276-0ff4dc41e755。这里有关于 Active Script 和 JScript 接口的各种重要信息,尤其是对于那些使用 C# 的人。