我正在制作一个向 JavaScript 公开方法的 BHO。
它在 IE 9 和 IE 10 中运行良好,但在 IE 8 中失败并出现RuntimeBinderException : "mshtml.HTMLWindow2Class" does not contain "signJson"
。
代码大多基于live reload IE extension。
这是将函数注入窗口的一种方式:
public void InjectScriptResource(dynamic window)
{
var windowEx = (IExpando)window;
if (windowEx.GetProperty("signJson", BindingFlags.Default) == null)
{
windowEx.AddProperty("signJson");
window.signJson = this;
}
}
mshtml.HTMLWindow2Class
IE 8 与 IE 9有什么不同?将方法注入其中的正确方法是什么?