我发现这个“附加组件”,叫做"inno-web-browser“,由论坛的用户在这里TLama,非常好的这个附加组件,可以完美地打开一个网址,但我需要知道你是否有,因为我监测点击,因此进行安装或其他,例如:
URL将是某个http://www.example.com/ads.php
这个文件"ads.php“将产生一个广告:这个广告将是一个共同的横幅(单一图像)的时间,它将需要时间,它将在闪光灯完成,到目前为止还不错。
我想知道它是否有锁定按钮,而下一页iframe (ads.php)正在充电,只有在用户点击广告(图片或闪光灯)后,下一页按钮才会释放。
你能做到吗?
发布于 2013-05-27 00:00:24
我已经为web浏览器控件的BeforeNavigate2事件添加了一个事件处理程序。示例脚本现在通过这个新功能进行了扩展。因此,首先获取the most recent version并使用如下代码。它禁用浏览器自定义页面上的Next按钮,除非用户单击所显示的StackOverflow站点的Users选项卡。但在禁用此功能时要非常小心,因为并非所有用户都可以连接到Internet,而这些用户会被您的安装程序阻塞:
[Setup]
AppName=Web Browser Project
AppVersion=1.0
DefaultDirName={pf}\Web Browser Project
[Files]
Source:"WebBrowser.dll"; Flags: dontcopy
[Code]
const
EVENT_BEFORE_NAVIGATE = 1;
var
CustomPage: TWizardPage;
type
TWebBrowserEventProc = procedure(EventCode: Integer; URL: WideString);
procedure CreateWebBrowser(ParentWnd: HWND; Left, Top, Width, Height: Integer;
CallbackProc: TWebBrowserEventProc);
external 'CreateWebBrowser@files:webbrowser.dll stdcall';
procedure DestroyWebBrowser;
external 'DestroyWebBrowser@files:webbrowser.dll stdcall';
procedure ShowWebBrowser(Visible: Boolean);
external 'ShowWebBrowser@files:webbrowser.dll stdcall';
procedure NavigateWebBrowser(URL: WideString);
external 'NavigateWebBrowser@files:webbrowser.dll stdcall';
procedure OnWebBrowserEvent(EventCode: Integer; URL: WideString);
begin
// this event will fire with the EVENT_BEFORE_NAVIGATE event code whenever
// you browse somewhere; this includes all iFrames and redirections, so for
// your case will be the best wait until your user navigate to the target of
// the ad (in this example unless user clicks the Users tab on StackOverflow)
if (EventCode = EVENT_BEFORE_NAVIGATE) and (URL = 'http://stackoverflow.com/users') then
WizardForm.NextButton.Enabled := True;
end;
procedure InitializeWizard;
begin
CustomPage := CreateCustomPage(wpWelcome, 'Web Browser Page',
'This page contains web browser');
CreateWebBrowser(WizardForm.InnerPage.Handle, 0, WizardForm.Bevel1.Top,
WizardForm.InnerPage.ClientWidth, WizardForm.InnerPage.ClientHeight - WizardForm.Bevel1.Top,
@OnWebBrowserEvent);
// I've been getting JSON error; so please ignore it, it's not my fault
NavigateWebBrowser('http://stackoverflow.com/');
end;
procedure DeinitializeSetup;
begin
DestroyWebBrowser;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
ShowWebBrowser(CurPageID = CustomPage.ID);
if CurPageID = CustomPage.ID then
WizardForm.NextButton.Enabled := False;
end;https://stackoverflow.com/questions/16709527
复制相似问题