Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Klasse eines <body>-Tag im Webbrowser ändern

  Alt 5. Apr 2018, 11:51
Hat der Body eine ID? Funktioniert die Ermittlung darüber?
Leider nein, das hatte ich auch schon probiert. Um im Beispiel zu bleiben:
Code:
<!DOCTYPE html>
 <html>
   <head>
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <title>Test</title>
     <link href="dark.css" rel="stylesheet" type="text/css"/>
     <link href="light.css" rel="stylesheet" type="text/css"/>
     <style>
       body {
         border: none;
         margin: 0;
         padding: 0;
       }
     </style>
   </head>

   <body class="dark" id="theBody">
       Test
   </body>
 </html>
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   Es: IHTMLElementCollection;
   E: IHTMLElement;
   Doc: IHtmlDocument3;
begin
   Webbrowser.Document.QueryInterface(IHtmlDocument3, Doc);
   Assert(Doc <> NIL);
   E:= (Webbrowser.Document AS IHTMLDocument3).getElementById('theBody');
   if E <> NIL then begin // <-- E ist NIL
     E.setAttribute('className', 'light', EmptyParam);
   end;
end;
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat