WXContainer locked after clicking <a href="...">

The TTMSFNCWXContainer is locked in the next page after clicking on an <a href="...">-tag. See following sample.

Click the Button -> Click Me! appears -> but now if you click the button again -> you can´t reload the ElementContainer and stay on google.

is there an easy way to interrupt the href and open it in another Window...

Sample_WXContainer.zip (9.3 KB)

This is an example how to achieve this.

unit MainFormU;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.TMSFNCTypes, FMX.TMSFNCUtils, FMX.TMSFNCGraphics,
  FMX.TMSFNCGraphicsTypes, FMX.Controls.Presentation, FMX.StdCtrls, FMX.TMSFNCCustomControl, FMX.TMSFNCWebBrowser,
  FMX.TMSFNCCustomWEBControl, FMX.TMSFNCWXContainer;

type
  TForm1 = class(TForm)
    TMSFNCWXContainer1: TTMSFNCWXContainer;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    procedure DoNewWindowRequested(Sender: TObject; var Params: TTMSFNCWebBrowserNewWindowRequestedParams);
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

type
  TTMSFNCWXContainerOpen = class(TTMSFNCWXContainer);

procedure TForm1.Button1Click(Sender: TObject);
begin
  TMSFNCWXContainer1.ElementContainers[0].HTML.Text := '<a href="https://www.google.com/" target="_blank">Click Me!</a>';
end;

procedure TForm1.DoNewWindowRequested(Sender: TObject;
  var Params: TTMSFNCWebBrowserNewWindowRequestedParams);
begin
  Params.Handled := True;
  TTMSFNCUtils.OpenURL(Params.URL);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  TTMSFNCWXContainerOpen(TMSFNCWXContainer1).OnNewWindowRequested := DoNewWindowRequested;
end;

end.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.