Hallo,
Mir ist gerade die Idee gekommen, die Javascript-Datei NUR über den Screenstylesheet aufzurufen, so das die Transparenz-Geschichte für den Druck gar nicht erst auftaucht. Leider wüsste ich aber nicht, ob das überhaupt geht?
Du kannst nicht so ohne weiteres ein JavaScript über ein Stylesheet aufrufen. Und selbst wenn das hypothetisch funktionieren würde, hättest du dasselbe Problem:
Wenn du eine Seite im Browser aufrufst, wird das screen-Stylesheet aufgerufen. Wenn darin ein JavaScript steckt, so wird es ausgeführt und das Dokument selbst wird verändert. Das JavaScript durchläuft nämlich alle Grafiken und wendet den Transparenz-Filter an, indem die individuellen style-Eigenschaften der Grafiken geändert werden.
Wenn das screen-Stylesheet dann wieder deaktiviert wird und das print-Stylesheet aktiviert (also das, was beim Drucken passiert), bleibt das Dokument geändert. Die gesetzten Inline-Styles würden weiter wirken, sowohl bei der screen- als auch bei der print-Ausgabe.
Es gäbe höchstens die Möglichkeit, dass das Script nicht die Inline-Styles ändert, sondern über document.styleSheets das screen-Stylesheet dynamisch erweitert. Jede Grafik würde dann eine ID erhalten und im screen-Stylesheet würde automatisch eine entsprechende Regel angelegt. Das wäre aber ziemlicher Overkill.
Mathias