请教高手:javascript如何调用IE插件里的函数?
大家好,我想用BHO给IE写一个插件,插件里写一个方法,如PluginMethod,然后javascript里调用PluginMethod(),
目前可以写一点BHO程序了,只是实现js调用,还是没有头绪。
请问,如何做?
[解决办法]
BHO接口实现IDocHostUIHandler接口。
// 取webBrowser的ICustomDoc对象,把自己设置给文档
CComPtr<IDispatch> spDisp;CComQIPtr<IHTMLDocument2> spDoc; HRESULT hr = pWeb->get_Document(&spDisp);spDoc = spDisp;if (spDoc){ CComPtr<ICustomDoc> spCustDoc; hr = spDoc->QueryInterface(__uuidof(ICustomDoc), (void**)&spCustDoc); if (spCustDoc) { hr = spCustDoc->SetUIHandler(this); } }
[解决办法]
脚本调用:
function Test(){ window.external.Test();}
[解决办法]
没必要使用bho技术,普通的com组件就行。
只需要提供了IDispatch接口的控件就能被js调用
[解决办法]
也可以参考这个:http://www.codeproject.com/KB/atl/HTMLControl.aspx