Delphi7中TEmbeddedWB控件弹出Javascript错误提示框问题
来源:互联网 发布:数据可以储存什么文字 编辑:程序博客网 时间:2024/06/06 04:40
TEmbeddedWB控件是Delphi中常用的浏览器控件,在Delphi7中,由于TEmbeddedWB所用IE内核比较旧,这就造成我们在浏览一些网页的时候,会弹出JavaScript错误提示框,这个行为会给用户带来不好的使用体验,很多时候我们都会想办法去掉这个提示框。
要去掉这个提示框,目前有两个可行的办法:
1. 升级TEmbeddedWB控件,但是高版本的TEmbeddedWB在D7中不一定能正常使用,可能需要修改较多的代码(注:这个办法作者并未试验过,在网上查资料时有网友提到这个方案)
2. 修改D7中TEmbeddedWB的控件源码,这个方法作者使用过,可行有效,下面是例子。
作者试验的TEmbeddedWB版本是1.16b,主要分两个步骤:
a . 修改TEmbeddedWB的Exec函数,大概在代码2000行处,
case nCmdID of
OLECMDID_SHOWSCRIPTERROR:
if Assigned(FOnScriptError)
then begin
//pEventObj := (Document as IHTMLDocument2).parentWindow.event;
pEventObj := GetEventObj(Document as IHTMLDocument2, 'error');
if pEventObj <> nil then
begin
FContinueScript := True;
FShowDialog := False; (将这个变量设为false,隐藏错误提示框)
FOnScriptError(self,
GetProperty('errorline'),
GetProperty('errorCharacter'),
GetProperty('errorCode'),
GetProperty('errorMessage'),
GetProperty('errorUrl'),
FContinueScript, FShowDialog);
TVariantArg(vaOut).vt := VT_BOOL;
TVariantArg(vaOut).vbool := FContinueScript;
if not FShowDialog then Result := S_OK;
end
b. 实现TEmbeddedWB.OnScriptError的回调函数,该函数内可以什么都不做,但必须确保TEmbeddedWB.OnScriptError被实现,如何实现?很简单,定义回调函数,将函数指针赋值给OnScriptError即可,回调函数的参数形式可以在TEmbeddedWB文件开始处找到
- Delphi7中TEmbeddedWB控件弹出Javascript错误提示框问题
- ValidationSummary控件无法弹出错误提示框
- javascript弹出提示框
- javascript弹出消息提示框
- JavaScript弹出提示选择框
- 怎样不让webbrowser控件不弹出脚本错误提示
- Android 弹出框LemonBubble提示控件
- mvc 中 弹出提示框
- 打开word弹出发送错误提示框
- android editText 弹出错误提示框
- javaScript关闭浏览器 (不弹出提示框)
- javascript关闭窗口,不弹出提示框
- javaScript关闭浏览器 (不弹出提示框)
- javaScript关闭浏览器 (不弹出提示框)
- Servlet和JavaScript界面弹出提示框。
- 解决Windows系统启动时总是弹出SQL Writer错误提示框的问题
- VS2010添加类失败问题,弹出错误框,提示 CodeModel操作失败,无法访问标记数据库
- VS2010添加类失败问题,弹出错误框,提示 CodeModel操作失败,无法访问标记数据库
- 获取ApplicationContext对象
- Mysql Merge表的使用注意事项和优点介绍
- iptables基础知识.详解
- 黑马程序员--Java学习加强23--动态代理机制
- opencv计算矩阵与数值的乘积,矩阵与矩阵的乘积
- Delphi7中TEmbeddedWB控件弹出Javascript错误提示框问题
- C++编译器的使用
- [Phonegap+Sencha Touch] 移动开发28 小米3不支持Sencha touch的解决办法
- 循环移动背景类
- 如何使用ActionBar
- 亮点!2014巴黎车展提前看
- JQuery Mobile 页面跳转后js不执行的问题(二)
- 2014北京邀请赛E题_BNU_44673_Elegant String(DP+矩阵快速幂)
- Linux内核初始化流程笔记