delphi 中webbrowser 屏蔽脚本错误提示 webbrowserdelphi脚本提示框 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以下代码可以屏蔽js提示.备注: JS提示的屏蔽会带来其他问题, 比如屏蔽询问JS通行的窗口会导致界面使用问题unit Unit11;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw{, ActiveX, ShellAPI};type TForm11 = class(TForm) wb1: TWebBrowser; edtURL: TEdit; procedure edtURLKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure wb1NewWindow2(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); procedure wb1NavigateComplete2(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant); procedure wb1StatusTextChange(ASender: TObject; const Text: WideString); procedure wb1BeforeNavigate2(ASender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); private { Private declarations } vStatusText: WideString; vUpdating: Boolean; public { Public declarations } end;var Form11: TForm11;implementation{$R *.dfm}procedure TForm11.edtURLKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin if Key = 13 then wb1.Navigate(edtURL.Text);end;procedure TForm11.FormCloseQuery(Sender: TObject; var CanClose: Boolean);begin wb1.Navigate('about:blank;');end;procedure TForm11.wb1BeforeNavigate2(ASender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool);begin Cancel := vUpdating; Cancel := (URL = vStatusText);end;procedure TForm11.wb1NavigateComplete2(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);begin vUpdating := False;end;procedure TForm11.wb1NewWindow2(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);begin vUpdating := True;end;procedure TForm11.wb1StatusTextChange(ASender: TObject; const Text: WideString);begin vStatusText := Text;end;end. 可以找一下第三方的webbrowser控件,功能强大些 我用 delphi XE3 也是会报这样的问题,问题还是解决不了 把Slient属性设为True就不会弹出脚本错误的信息了。 要重载 IOleCommandTargetdelphi版:http://stackoverflow.com/questions/5450514/webbrowser-msie-capture-js-errors-using-exec-of-iolecommandtargetatl版:http://flagspot.diandian.com/post/2012-11-09/40041742398http://smartgeek.iteye.com/blog/1977974 VCL的问题 关于themeengine 5 组件的安装与使用的问题,会的青筋 怎么知道哪个类定义在哪个文件里的? delphi快捷键 大全 来了不后悔 好了就顶 Memo问题 有没有人用过这样的程序?~~~~~~~~ 如何实现程序关机? 关于并串口的问题 在程序中如何设计用户权限功能? 有谁发现了Delphi6的控件,来这儿交流一下。 函数解密 枚举窗口的问题
备注: JS提示的屏蔽会带来其他问题, 比如屏蔽询问JS通行的窗口会导致界面使用问题unit Unit11;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw{, ActiveX, ShellAPI};type
TForm11 = class(TForm)
wb1: TWebBrowser;
edtURL: TEdit;
procedure edtURLKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure wb1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
procedure wb1NavigateComplete2(ASender: TObject; const pDisp: IDispatch;
var URL: OleVariant);
procedure wb1StatusTextChange(ASender: TObject; const Text: WideString);
procedure wb1BeforeNavigate2(ASender: TObject; const pDisp: IDispatch;
var URL, Flags, TargetFrameName, PostData, Headers: OleVariant;
var Cancel: WordBool);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
vStatusText: WideString;
vUpdating: Boolean;
public
{ Public declarations }
end;var
Form11: TForm11;implementation{$R *.dfm}procedure TForm11.edtURLKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then
wb1.Navigate(edtURL.Text);
end;procedure TForm11.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
wb1.Navigate('about:blank;');
end;procedure TForm11.wb1BeforeNavigate2(ASender: TObject; const pDisp: IDispatch;
var URL, Flags, TargetFrameName, PostData, Headers: OleVariant;
var Cancel: WordBool);
begin Cancel := vUpdating;
Cancel := (URL = vStatusText);
end;procedure TForm11.wb1NavigateComplete2(ASender: TObject; const pDisp: IDispatch;
var URL: OleVariant);
begin
vUpdating := False;
end;procedure TForm11.wb1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
begin
vUpdating := True;
end;procedure TForm11.wb1StatusTextChange(ASender: TObject; const Text: WideString);
begin
vStatusText := Text;
end;end.
可以找一下第三方的webbrowser控件,功能强大些
我用 delphi XE3 也是会报这样的问题,问题还是解决不了
delphi版:
http://stackoverflow.com/questions/5450514/webbrowser-msie-capture-js-errors-using-exec-of-iolecommandtargetatl版:
http://flagspot.diandian.com/post/2012-11-09/40041742398
http://smartgeek.iteye.com/blog/1977974