Delphi 停止TWebBrowser脚本错误弹出窗口,但不要在ShowScriptError事件上停止
脚本错误模式窗口可以在TWebBrowser中通过设置Delphi 停止TWebBrowser脚本错误弹出窗口,但不要在ShowScriptError事件上停止,delphi,twebbrowser,Delphi,Twebbrowser,脚本错误模式窗口可以在TWebBrowser中通过设置 Silent := True; 但它也禁止OnShowScriptError事件 我想用showscripterror收集脚本错误,但要停止错误模式窗口 你的评论就是我想要的解决方案!你可以把它贴出来作为答案 来,听听你的观点 不,你需要不同的行为。在下面的示例中: 1) 将出现web浏览器窗口中的消息框 2) 有关错误的信息将添加到TMemo组件中 用于测试的URL: 此页面上的Javascript代码: 你真正想要的是: (如何作为
Silent := True;
但它也禁止OnShowScriptError
事件
我想用showscripterror收集脚本错误,但要停止错误模式窗口
你的评论就是我想要的解决方案!你可以把它贴出来作为答案
来,听听你的观点
不,你需要不同的行为。在下面的示例中:
1) 将出现web浏览器窗口中的消息框
2) 有关错误的信息将添加到TMemo
组件中
用于测试的URL:
此页面上的Javascript代码:
你真正想要的是:
(如何作为WebBrowser控件主机处理脚本错误)可能只需将
AHandled
参数设置为True
,以指示您已处理此错误?@nil--这还不够。常规消息框警报
仍可能出现在此窗口中case@Zam:没问题。它们应该出现,但不是诊断消息。@nil:您的评论就是我想要的解决方案!你可以把它作为答案贴在这里,然后得到你的观点。@Zam我不明白为什么我的评论会错,我的意思是你的答案基本上就是我建议的?
<script type="text/javascript">
alert("test1");
var t = 100 / x0;
</script>
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://1click.sdk.1click.lv/test.asp');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Silent := False;
end;
procedure TForm1.WebBrowser1ShowScriptError(ASender: TObject;
const [Ref] AErrorLine, AErrorCharacter, AErrorMessage, AErrorCode,
AErrorUrl: OleVariant; var AOut: OleVariant; var AHandled: Boolean);
begin
Memo1.Lines.Add(AErrorMessage);
AHandled := True;
end;