通过基于CLSID“{16d51579-a30b-4c8b-a276-0ff4dc41e755}”(如here所述)创建IActiveScript实例,我们获得了IE9的JavaScript引擎,该引擎可在Quirks模式下工作。不幸的是,在Quirks模式下不支持ECMAScript 5。

有谁知道如何为IE9标准模式下的“Chakra”创建IActiveScript实例?

最佳答案

将您的IActiveScript转换为IActiveScriptProperty,然后像这样用SetProperty调用SCRIPTPROP_INVOKEVERSIONING:

CComQIPtr<IActiveScriptProperty> property = jscript;
CComVariant version(SCRIPTLANGUAGEVERSION_5_8 + 1); // = 3
hr = property->SetProperty(SCRIPTPROP_INVOKEVERSIONING, nullptr, &version);

关于c# - 实现IE的IActiveScript实例(9's JavaScript engine (“Chakra”)在Quirks模式下工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12448718/

10-13 08:24