如何接管CHtmlView的脚本引擎接口? 我想自己实现 IActiveScript IActiveScriptSite等接口,然后在自己的程序里,基于CHtmlView的程序里,把默认的脚本引擎接口等替换成我的,以此来控制脚本的执行等,该如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你应该是想让CHtmlView打开你本地的网页吧, 然后再这个网页里面执行你自己的js脚本? 这个技术是一层很高大的纸幕,虽然很薄,但就是看不见另一面。但是纸毕竟是薄的,只要选择了恰当的技术,一根针就能捅破它。当年我用V8改造JS引擎的时候,就成功地让IE用了我的引擎而不是系统自带的JSCRIPT。抱歉的是,这个技术我没有公开,只私下送给了几个圈内的朋友。 网上的一原话"IE用的是微软的脚本引擎规范,所以我把V8改造成符合微软规范的版本,然后在运行时替换jscript引擎。测试结果:通过。总体运行性能:不如原版,尤其在DOM访问速度上。" 我接管脚本运行的出发点是想控制一些JS函数的执行,例如blur函数,它会使窗体Z-ORDER位置发生变化,还有网页关闭事件等,都想在JS接管的时候直接拦截和处理,因此想从IActiveScript等接口处理 你这个需求根本不需要用这种接管整个脚本引擎的方式解决,直接用JS代码就能搞定。自己保存原始的blur方法;实现一个替代的blur方法替换掉原始方法。e.oldBlur = e.blur;e.blur = function(){ // do something or nothing, or call original method, such as: e.oldBlur();};别告诉我这个方法太复杂。 替换的方法有时候会不行,我目前就是采用这种方法,我再OnNavigateComplete和OnDocumentComplete里都加了替换函数,大部分时候是可以的,但是有时候也会不行,因为有时候会没等替换呢就已经执行完了,因此我考虑如何在更早的时机替换或者接管JS脚本对blur的执行 MFC读文件问题,我定义了一个类 VC6.0中如何确定CString转化为COleDateTime是否正确? 多线程出现问题 小问题 怎样在工程中添加一个控制条CONTROLBAR,然后把CTREE树控件添加到这个控制条CONTROLBAR上 我自己做了个帮助文件example.hlp请问怎么链接到我的程序上去呢? 关于 文件读写 求绿色版MSDN 赠高分!!手机C/C++编程发短信。欢迎讨论,如能给示意代码或资料(链接)赠高分!! 特弱的问题!!!救命!!! 用VC++编写了一个应用程序,为什么运行一段时间会出现内存不足的提示? 关于mini2440的视频监控
你这个需求根本不需要用这种接管整个脚本引擎的方式解决,直接用JS代码就能搞定。自己保存原始的blur方法;实现一个替代的blur方法替换掉原始方法。e.oldBlur = e.blur;
e.blur = function(){
// do something or nothing, or call original method, such as: e.oldBlur();
};
别告诉我这个方法太复杂。