2015.2.16 关于delphi web控件打开新网页时弹出关闭页面(js代码)出错的解决办法研究
来源:互联网 发布:德州扑克平台 知乎 编辑:程序博客网 时间:2024/06/05 09:19
..参考网址1:http://www.csharpwin.com/csharpspace/2360.shtml
...参考网址2:http://www.oschina.net/question/234345_53939
网址1、2都是c语言中对于web控件的解决办法,对于两者我都只是借鉴了一下方法,最终都只是对网页中js代码中的widow.open和window.close进行处理。
大概有两种方法:
一种对js代码进行替换,换成web控件可执行不出错的程序,
另一种是对于web控件在执行js代码widow.open后,进行事件判定....
下面最终我采用第二种方法对其进行解决,但是我这里只对window.open进行处理,并没有对window.close进行处理,后面如果有机会会对程序进行进一步的完善....
最终参考网址:http://www.360doc.com/content/12/1109/11/7389824_246775000.shtml
解决办法的程序:
procedure TForm1.WebBrowserNewWindow2(Sender: TObject;
...参考网址2:http://www.oschina.net/question/234345_53939
网址1、2都是c语言中对于web控件的解决办法,对于两者我都只是借鉴了一下方法,最终都只是对网页中js代码中的widow.open和window.close进行处理。
大概有两种方法:
一种对js代码进行替换,换成web控件可执行不出错的程序,
另一种是对于web控件在执行js代码widow.open后,进行事件判定....
下面最终我采用第二种方法对其进行解决,但是我这里只对window.open进行处理,并没有对window.close进行处理,后面如果有机会会对程序进行进一步的完善....
最终参考网址:http://www.360doc.com/content/12/1109/11/7389824_246775000.shtml
解决办法的程序:
procedure TForm1.WebBrowserNewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
WebBrowser.RegisterAsBrowser := true;//当前浏览器为最高级别浏览器
ppDisp := WebBrowser.ControlInterface;//新窗口对象允许web浏览器操作
end;
程序说明:
首先选建立一个web控件,然后使用web控件的onnewwindow事件,再将web控件的RegisterAsBrowser 属性设为真,使得事件的ppDisp参数等于web控件ControlInterface属性。
onnewwindow事件是响应一个导航到新网址或一个脚本的window.open方法;
ppDisp为程序创建新窗口的对象;
RegisterAsBrowser属性
设置该属性为True时,当前使用的Web浏览器组件成为最高级别浏览器。
语法:
property RegisterAsBrowser: WordBool;
ControlInterface属性
访问WebBrowser组件接口,这个接口允许一个Automation控制器访问Web浏览器的属性、方法和事件。
语法:
property ControlInterface: IWebBrowser2;
示例:
显示WebBrowser1组件的名称,代码如下:
Showmessage(WebBrowser1.ControlInterface.Name);
程序说明:
首先选建立一个web控件,然后使用web控件的onnewwindow事件,再将web控件的RegisterAsBrowser 属性设为真,使得事件的ppDisp参数等于web控件ControlInterface属性。
onnewwindow事件是响应一个导航到新网址或一个脚本的window.open方法;
ppDisp为程序创建新窗口的对象;
RegisterAsBrowser属性
设置该属性为True时,当前使用的Web浏览器组件成为最高级别浏览器。
语法:
property RegisterAsBrowser: WordBool;
ControlInterface属性
访问WebBrowser组件接口,这个接口允许一个Automation控制器访问Web浏览器的属性、方法和事件。
语法:
property ControlInterface: IWebBrowser2;
示例:
显示WebBrowser1组件的名称,代码如下:
Showmessage(WebBrowser1.ControlInterface.Name);
qq:673890989欢迎遇到同样问题的伙伴们交流
0 0
- 2015.2.16 关于delphi web控件打开新网页时弹出关闭页面(js代码)出错的解决办法研究
- 打开网页自动弹出一个页面的代码分析
- 如何在网页打开时弹出通知,JS代码
- 关闭页面弹出弹窗js代码
- Delphi控件RzSizePanel的打开与关闭
- JS 弹出登陆框窗口,关闭窗口之后,使原来的窗口打开新的JSP
- 在WebBrowser控件打开的网页链接后直接打开而不新弹出IE窗口来打开
- 在winform中使用webbrowser控件时,不弹出新的页面,只在当前窗口打开
- C# winform使用webbrowser控件,不弹出新的页面,只在当前窗口打开
- 如何实现关闭网页时,弹出一个新网页?
- 使用 Web Browser 控件的 newWindow2 事件打开弹出的网页。
- 打开子页面,关闭父页面时,去掉关闭确认的解决办法
- 弹出新的网页窗口 js
- 弹出新网页在新的对话框中打开
- 弹出新网页在新的对话框中打开
- 简单的如何实现关闭网页时,弹出一个新网页
- js 关闭页面时,弹出窗口
- JS关闭窗口弹出新窗口,关闭新窗口时,刷新父窗口,JS代码实现刷新网页,js实现弹出窗口代码收集集萃
- The Setstack Computer
- Codeforces 290C
- 大型网站架构
- IOS 微信共享给好友或者朋友圈
- DBUnit单元测试
- 2015.2.16 关于delphi web控件打开新网页时弹出关闭页面(js代码)出错的解决办法研究
- UVA 131 The Psychic Poker Player
- NYOJ--44(动态规划)-题目----------------------------- 子串和
- AIX上 断开的NFS 挂载点 导致 Oracle instance hang 住
- Android ListView移除Item
- 欢迎使用CSDN-markdown编辑器
- helloWorld
- 栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(三)linux下进程中的多用户
- ThinkPHP关于session的各种操作方法