Einzelnen Beitrag anzeigen

Daniel G
(Gast)

n/a Beiträge
 
#1

[TWebBrowser] Alle StyleSheets auflisten

  Alt 8. Aug 2006, 20:55
Hilfe.

Ich enumeriere mit einem Codeschnipsel, den marabu mal geposted hat, alle StyleSheets in einem Dokument:

Delphi-Quellcode:
procedure SetSpecialCSS(WB: TWebBrowser);
var
  doc: IHTMLDocument2;
  cStyles: IHTMLStylesheetsCollection;
  i: integer;
  ss, vi: OleVariant;
begin
  doc := WB.Document as IHTMLDocument2;
  cStyles := doc.styleSheets; // no cast necessary
//Enumerate all StyleSheets
  for i := 0 to cStyles.length - 1 do begin
    vi := i;
    ss := cStyles.item(vi); // no cast possible
    ShowMessage(ss.href);
  end;
end;
Für mich ist es wichtig, dass ich alle Stylesheets bekomme, da ich diese durch eigene, lokale ersetzen muss. Nun habe ich das Problem, dass mir der Code alle StyleSheets listet, allerdings nur bei denen die Adresse zurückgibt, die via HTML - Syntax eingebunden werden. Bei CSS - Syntax klappt das nicht.

Beispiel:

HTML - Syntax:
Code:
<link rel="stylesheet" href="./templates/DPClassicBlue/DPClassicBlue.css" type="text/css">
Rückgabewert:
'./templates/DPClassicBlue/DPClassicBlue.css'
CSS - Syntax
Code:
<style type="text/css"> @import url("./formIE.css"); </style
Rückgabewert
''
Es werden aber zwei definierte StyleSheets erkannt. Kennt jemand ein Workaround dafür?
  Mit Zitat antworten Zitat