Manipulieren eines HTML-Stylesheets mit ActionScript

Adobe AIR 1.0 und höher

Nachdem das HTMLLoader-Objekt das complete -Ereignis ausgelöst hat, können Sie CSS-Stile in einer Seite untersuchen und manipulieren.

Sehen Sie sich beispielsweise das folgende einfache HTML-Dokument an:

<html> 
<style> 
    .style1A { font-family:Arial; font-size:12px } 
    .style1B { font-family:Arial; font-size:24px } 
</style> 
<style> 
    .style2 { font-family:Arial; font-size:12px } 
</style> 
<body> 
    <p class="style1A"> 
        Style 1A 
    </p> 
    <p class="style1B"> 
        Style 1B 
    </p> 
    <p class="style2"> 
        Style 2 
    </p> 
</body> 
</html>

Nachdem ein HTMLLoader-Objekt diesen Inhalt lädt, können Sie die CSS-Stile in der Seite wie hier gezeigt über das cssRules -Array des window.document.styleSheets -Arrays manipulieren:

var html:HTMLLoader = new HTMLLoader( ); 
var urlReq:URLRequest = new URLRequest("test.html"); 
html.load(urlReq); 
html.addEventListener(Event.COMPLETE, completeHandler); 
function completeHandler(event:Event):void { 
    var styleSheet0:Object = html.window.document.styleSheets[0]; 
    styleSheet0.cssRules[0].style.fontSize = "32px"; 
    styleSheet0.cssRules[1].style.color = "#FF0000"; 
    var styleSheet1:Object = html.window.document.styleSheets[1]; 
    styleSheet1.cssRules[0].style.color = "blue"; 
    styleSheet1.cssRules[0].style.font-family = "Monaco"; 
}

Dieser Code passt die CSS-Stile so an, dass das resultierende HTML-Dokument folgendermaßen aussieht:

Denken Sie daran, dass Code einer Seite Stile hinzufügen kann, nachdem das HTMLLoader-Objekt das complete -Ereignis ausgelöst hat.