【问题标题】:Instance of IActiveScript, that implements the IE9's JavaScript engine (“Chakra”), works in a Quirks mode实现 IE9 的 JavaScript 引擎(“Chakra”)的 IActiveScript 实例,在 Quirks 模式下工作
【发布时间】:2012-09-09 01:07:50
【问题描述】:

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

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

【问题讨论】:

标签: c# .net internet-explorer-9 chakra iactivescript


【解决方案1】:

我相信 CLSID 是 16d51579-a30b-4c8b-a276-0ff4dc41e755。有关于 Active Script 和 JScript 接口here 的各种重要信息,尤其是对于那些使用 C# 的人。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我这样做了,但无论如何 Array.forEach 都不存在。 Microsoft JScript 11.0.16384 对象不支持属性或方法'forEach' Src:JavaScript 运行时错误错误:0 Scode:800a01b6
    猜你喜欢
    • 2015-01-29
    • 2011-11-02
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    相关资源
    最近更新 更多