AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Anchor von selektiertem Text in TEdgeBrowser?

Ein Thema von softtouch · begonnen am 2. Jan 2024 · letzter Beitrag vom 10. Jan 2024
Antwort Antwort
Benutzerbild von softtouch
softtouch

Registriert seit: 13. Feb 2015
Ort: Kerpen
212 Beiträge
 
Delphi 12 Athens
 
#1

Anchor von selektiertem Text in TEdgeBrowser?

  Alt 2. Jan 2024, 10:08
Delphi-Version: 5
Ich habe einen TEdgeBrowser auf der Form. Ich möchte den anchor link irgendwie erhalten, wenn ich den anchor text mit der Maus markiere. Zum Beispiel, die html Seite hat einen link <a href="test.html">Testing</a>. Wenn ich den Text "Testing" nun markiere, wie komme ich an den link? Mit ExecuteScript und "window.getSelection()" bekomme ich ja nur den text.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Anchor von selektiertem Text in TEdgeBrowser?

  Alt 2. Jan 2024, 14:56
Ich wüsste noch nicht einmal, wie man das mit JavaScript allgemein macht. Was sollte das ausspucken, wenn du den Text von zwei oder mehr Links markierst?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#3

AW: Anchor von selektiertem Text in TEdgeBrowser?

  Alt 2. Jan 2024, 15:22
Das selektierte HTML geben lassen und dort dann raus parsen?
https://stackoverflow.com/questions/...on-return-html
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von softtouch
softtouch

Registriert seit: 13. Feb 2015
Ort: Kerpen
212 Beiträge
 
Delphi 12 Athens
 
#4

AW: Anchor von selektiertem Text in TEdgeBrowser?

  Alt 10. Jan 2024, 20:56
Hat sich schon erledigt, ich mache das über JS und ExecuteScript.

Ich mache folgendes in onNavigationStarting:

Delphi-Quellcode:
procedure TForm1.onNavigationStarting(Sender: TCustomEdgeBrowser; Args: TNavigationStartingEventArgs);
var
  js:string;
begin
  sender.stop;

  js:='encodeURI(';
  js:=js+'document.activeElement.getAttribute("href")+"|"+';
  js:=js+'document.activeElement.text+"|"+';
  js:=js+'document.activeElement.getAttribute("title")+"|"+';
  js:=js+'document.activeElement.getAttribute("id")+"|"+';
  js:=js+'document.activeElement.getAttribute("name")+"|"+';
  js:=js+'document.activeElement.getAttribute("class")+"|"+';
  js:=js+'document.activeElement.outerHTML+"|"+';
  js:=js+'document.activeElement.innerHTML+"|"+';
  js:=js+'document.activeElement.getAttribute("src")+"|"+';
  js:=js+'document.activeElement.getAttribute("alt")';
  js:=js+')';

  sender.ExecuteScript(js);
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#5

AW: Anchor von selektiertem Text in TEdgeBrowser?

  Alt 10. Jan 2024, 21:54
Dabei gibt es ab Delphi 12 nun diese netten MultiLineStrings

Code:
  Sender.Stop;
  Sender.ExecuteScript(
    '''
    encodeURI(
      document.activeElement.getAttribute("href") + "|" +
      document.activeElement.text + "|" +
      document.activeElement.getAttribute("title") + "|" +
      document.activeElement.getAttribute("id") + "|" +
      document.activeElement.getAttribute("name") + "|" +
      document.activeElement.getAttribute("class") + "|" +
      document.activeElement.outerHTML + "|" +
      document.activeElement.innerHTML + "|" +
      document.activeElement.getAttribute("src") + "|" +
      document.activeElement.getAttribute("alt")
    )
    '''
  );
[edit] Ich glaube das Forum kennt die noch nicht. (drum [code] statt [delphi])
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (10. Jan 2024 um 22:00 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:22 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