Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Webbrowser js-Links auslesen (https://www.delphipraxis.net/100919-webbrowser-javascript-links-auslesen.html)

API 5. Okt 2007 14:02


Webbrowser js-Links auslesen
 
Ich mögchte gerne die Links eines Webbrowsers auslesen.

Wie soll ich vorgehen, damit ich auch javascript links auslesen kann?

z.B:

Delphi-Quellcode:
<a href='' onclick='ViewDocument("xyz", "Popup");'>

s-off 5. Okt 2007 14:04

Re: Webbrowser Links auslesen
 
Hallo,

wurde dieses Thema hier nicht schon x-fach durchgekaut :?:

API 5. Okt 2007 16:00

Re: Webbrowser Links auslesen
 
Zitat:

Zitat von s-off
Hallo,

wurde dieses Thema hier nicht schon x-fach durchgekaut :?:


Ich denke nicht, wenn du meine Frage genau liest. Es geht um Javascript hrefs.


PS: Dein Link findet nix..

s-off 5. Okt 2007 16:07

Re: Webbrowser Links auslesen
 
Zitat:

Zitat von API
Ich denke nicht, wenn du meine Frage genau liest. Es geht um Javascript hrefs.

Dann solltest Du das in Deinem Titel auch so erwähnen.
Denn aufgrund Deines Titels verzichten sicherlich einige Leute darauf, sich Deinen Beitrag überhaupt anzusehen, weil das Thema, welches Inhalt Deines Titels ist, wie gesagt bereits mehrfach diskutiert worden ist.

marabu 5. Okt 2007 16:23

Re: Webbrowser Links auslesen
 
Hallo,

ich habe dann aber doch mal reingeschaut ...

Die Aufrufe von JavaScript-Code findest du, wenn du über alle Attribute des Dokuments iterierst. Beginnt der Attributname mit "on", dann handelt es sich in der Regel um ein Event und du kannst den Attributwert näher untersuchen um deine JS-Links zu extrahieren.

Grüße vom marabu

API 5. Okt 2007 23:36

Re: Webbrowser Links auslesen
 
Zitat:

Zitat von marabu
Hallo,

ich habe dann aber doch mal reingeschaut ...

Die Aufrufe von JavaScript-Code findest du, wenn du über alle Attribute des Dokuments iterierst. Beginnt der Attributname mit "on", dann handelt es sich in der Regel um ein Event und du kannst den Attributwert näher untersuchen um deine JS-Links zu extrahieren.

Grüße vom marabu

danke, funktioniert:

PS: Titel geändert.

Delphi-Quellcode:
function GetElementOnClick(Element: IHTMLElement): string;
var
  AttrCollection: IHTMLAttributeCollection;
  DOMAttribute: IHTMLDOMAttribute;
  j: Integer;
  DomNode: IHTMLDomNode;
  Dispatch: IDispatch;
  oVar: OleVariant;
begin
  Result := '';
  DomNode := Element as IHTMLDomNode;
  if DomNode <> nil then
  begin
    AttrCollection := DomNode.attributes as IHTMLAttributeCollection;
    if AttrCollection <> nil then
    begin
      for j := 0 to AttrCollection.length - 1 do
      begin
        oVar := j;
        Dispatch := AttrCollection.item(oVar);
        if ASSIGNED(Dispatch) then
        begin
          DOMAttribute := Dispatch as IHTMLDOMAttribute;
          if ASSIGNED(DOMAttribute) then
          begin
            try
              if DOMAttribute.nodeName = 'onclick' then
              begin
                Result := DOMAttribute.nodeValue;
              end;
            except
            end;
          end;
        end;
      end;
    end;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr.

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