浏览器扩展系列————给MSTHML添加内置脚本对象【包括自定义事件】

原文: 浏览器扩展系列————给MSTHML添加内置脚本对象【包括自定义事件】

使用场合:

         在程序中使用WebBrowser或相关的控件如:axWebBrowser等。打开本地的html文件时,可以在html的脚本中使用自己在.net中定义的类,实现与Internet Explorer server的互操作。此外也可以在充分利用html在设计界面方面高效,简单的同时,也可以实现一些复杂的特性。

实现:

Code

 

ScriptEvent类实现了对脚本事件的封装。

具体使用如下:

Code

 

onClick属性对应与Javascript脚本中ScriptObject类的onClick事件。在脚本中可以把一个function实例赋给此类的onClick属性。

因为在javascript中事件并不等同于.net中的事件,具体来说就是javascript中不允许绑定多个事件,所以可以一个事件实现为一个函数对象,通过用com viewer查看System32下的Jscript.dll可以看到,此对象对应于其中的FunctionInstance接口,所以在此就使用了反射构造了这个接口,然后调用其真正的脚本函数。

 

具体代码下载http://files.cnblogs.com/chinese-zmm/ScriptObjectDemo.rar

你可能感兴趣的:(浏览器扩展)