Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   HTML-Link aus Infowindow (google maps) in neuer Unit öffnen (https://www.delphipraxis.net/181563-html-link-aus-infowindow-google-maps-neuer-unit-oeffnen.html)

champagner 25. Aug 2014 20:19

HTML-Link aus Infowindow (google maps) in neuer Unit öffnen
 
Hallo,

ich schreibe mit RAD XE6 ein fmx-Programm (Android).

Im HTML-Teil

Delphi-Quellcode:
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
  System.Sensors, System.Sensors.Components, FMX.WebBrowser, FMX.ListBox,
  FMX.Layouts;

type
  TForm1 = class(TForm)
    LocationSensor: TLocationSensor;
    WebBrowser1: TWebBrowser;
//...
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

uses Unit2;


const

cContent =
'<!DOCTYPE html>'
+ '<html>'
+ ' <head>'
+ '   <meta name="viewport" content="initial-scale=1.0, user-scalable=no">'
+ '   <meta charset="utf-8">'
+ '   <style>'
+ '     html, body, #map_canvas {'
+ '       height: 100%;'
+ '       margin: 0px;'
+ '       padding: 0px'
+ '     }'
+ '     h1 {text-align:center;}'
+ '   </style>'

+ '   <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>'

+ '   <script>'

// Globale Variablen und Arrays
+ '   var category    = new Array(50);'
//... etc.
hab ich einen TWebbrowser1, in dem ich eine Google-Map mit Markern habe. Klicke ich diese Marker an, erscheint ein Infowindow.

So weit, so gut.

Klicke ich jetzt auf den HTML-Link (im Infowindow), so erscheint die angeklickte HTML-Seite in meinem TWebbrowser1.

DAS MÖCHTE ICH NICHT.

Ich möchte, dass die neue HTML-Seite in einem NEUEN TWebbrowser2 erscheint (so wie target = "_blank"). So dass ich, wenn ich die neue HTML-Seite wegklicke, wieder meinen ersten TWebbrowser1 mit der Google-Map sehe.


MEINE FRAGE:

Wie kann ich erreichen, dass beim Klicken auf das Infowindow (HTML-LINK)die neue HTML-Seite in einem neuen Fenster angezeigt wird, also NICHT in meinem ursprünglichen TWebbrowser1 (sondern am Besten in einem TWebbrowser2, z.B. in einer Unit2).

Neutral General 26. Aug 2014 16:16

AW: HTML-Link aus Infowindow (google maps) in neuer Unit öffnen
 
Der TWebbrowser hat ein OnBeforeNavigate2. Darin kannst du dir die URL schnappen, im 2. Webbrowser öffnen und im Ursprünglichen Webbrowser canceln. (Gibt dafür in dem Event ein var-Parameter)

Edit: OK ich habe vergessen dass du FMX benutzt. Da sieht das ganze schon wieder anders aus. Ich weiß allerdings grad auch nicht wie :/


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz