Co se jinam nevešlo > Obecné

Knihovna pro vyhodnocování CSS

(1/2) > >>

pepak:
Mám takový speciální problém: Potřeboval bych vzít HTML stránku a k ní příslušející CSS soubor a to celé převést na upravenou HTML stránku a upravený CSS soubor, který bude vypadat stejně, ale bude používat jednodušší konstrukce, které můj renderer zvládne zobrazit. Abych dal příklad: Použitý renderer neumí žádnou formu obsahu generovaného pomocí CSS, tj. například konstrukce typu .trida:after(content: "***"; color: #ff0000;). Bohužel nemám šanci ten renderer přesvědčit, aby CSS-obsah zobrazil, ale pokud bych dokázal to HTML přeparsovat z <span class="trida">Hvězdičky za</span> na <span class="trida">Hvězdičky za</span><span style="color: #ff0000">***</span>, tak by to můj problém řešilo.

Základní problém vidím v tom, že neznám žádný program, který by tohle uměl, a protože CSS je dost složité, tak ani nevím o způsobu, jak si to nějak rozumně naimplementovat sám. Nebyl by nějaký nápad, ať už na hotový program, nebo na nějakou jednoduše použitelnou knihovnu?

pf1957:

--- Citace: pepak  22-09-2012, 07:21:57 ---Mám takový speciální problém: Potřeboval bych vzít HTML stránku a k ní příslušející CSS soubor a to celé převést na upravenou HTML stránku a upravený CSS soubor, který bude vypadat stejně, ale bude používat jednodušší konstrukce, které můj renderer zvládne zobrazit.
...
Základní problém vidím v tom, že neznám žádný program, který by tohle uměl, a protože CSS je dost složité, tak ani nevím o způsobu, jak si to nějak rozumně naimplementovat sám. Nebyl by nějaký nápad, ať už na hotový program, nebo na nějakou jednoduše použitelnou knihovnu?

--- Konce citace ---

O nicem hotovem nevim.

Jako preferovane reseni bych videl zmenu rendereru na MSIE tj. v Delphi podani nejspis TEmbeddedWB. My jsme taky Baldwina vykopali vsude, kde to slo

Jako nahradni reseni (bez zaruky, nezkousel jsem) bych to pomoci stejneho MSIE nacetl do DOM, v nem to zmenil a pak to upravene zkusil ulozit, Alespon kdyz DOM pouzivas v JavaScriptu, tak kazdy objekt ma property Style, kde se dostanes na vsechna pole. Jsou na to interface IHTMLDocumenti, IHTMLElementi, IHTMLStylei aj.

Radek Červinka:
No unigui používá nějakou volně šiřitelnou třídu na zpracování CSS, ale to ti asi nepomůže.

c:\Users\Public\Documents\FMSoft\Framework\uniGUI\CSSParser\seCSSParser.pas
upraveno z     http://www.tmedia.de 
This software is provided 'as-is', without any express or   }
{ implied warranty. In no event will the author be held       }
{ liable for any damages arising from the use of this         }
{ software.                                                   }
{ Permission is granted to anyone to use this software for    }
{ any purpose, including commercial applications, and to      }
{ alter it and redistribute it freely,


THtmlView podporuje nějak CSS podporuje (jen nevím zda i externí) - aktuální verze http://code.google.com/p/thtmlviewer/

pf1957:

--- Citace: Radek Červinka  22-09-2012, 12:33:52 ---THtmlView podporuje nějak CSS podporuje (jen nevím zda i externí) - aktuální verze http://code.google.com/p/thtmlviewer/

--- Konce citace ---

No to je puvodne ten Baldwin, kterej bych z wokennich aplikaci vykopal jednou pro vzdy, protoze MSIE dnes poslouzi radove lepe. Jedine kde jsem ho nechal bylo tam, kde jsme do nej napsali binding na nase ORM objekty a kde nebylo rentabilni s tim neco delat.

pepak:

--- Citace: pf1957  22-09-2012, 11:20:28 ---Jako preferovane reseni bych videl zmenu rendereru na MSIE tj. v Delphi podani nejspis TEmbeddedWB.
--- Konce citace ---
Renderer je fixně daný a nezměnitelný.


--- Citace ---Alespon kdyz DOM pouzivas v JavaScriptu, tak kazdy objekt ma property Style, kde se dostanes na vsechna pole.
--- Konce citace ---
To neřeší můj problém. Tím možná zjistím, že element má nějaký (a jaký) :after (ale ruku do ohně za to nedám, on ten IE není zase žádný velký expert přes pokročilé CSS), ale to je tak všechno. Nezjistím například CSS styly toho :after obsahu.

Navigace

[0] Seznam témat

[#] Další strana

Přejít na plnou verzi