Frage

Ich möchte während eines Drucksheet auf einer Webseite alternatives Verhalten haben. Etwas entlang der Linien von:

  

Wenn Sie diese Seite gedruckt wird, nicht   Mühe SWFObject ruft eine rufen   .swf in Existenz. Lassen Sie einfach die   HTML, die Flash ersetzen wird.

Ich habe Dinge versucht, wie ein bekanntes Elements, einen bekannten Stil Einstellung, die aber nicht für die Druckformatvorlage für den Bildschirm vorhanden ist. Aber einen "Stil" über Javascript immer nicht bekommen eine berechnet Stil.

Zusammenfassung: In einer Cross-Browser-Art und Weise ist es möglich, das Stylesheet zu sagen, in der Tat ist

?
War es hilfreich?

Lösung

Es klingt wie Sie verwirrt sind, dass Print Style-Sheets verwendet werden, wenn Sie eine druckerfreundliche Seite zu sehen, aber das ist nicht der Fall. Ein Blatt Druckformat wird nicht angewandt, bis der Benutzer tatsächlich sendet die Seite an den Drucker. An diesem Punkt wird jeder Javascript, die bereits fertig ausgeführt wird hat.

Was Sie tun möchten, ist Ihr SWFObject in einem div Behälter gegeben, und haben den Behälter als display:none; für die Printmedien gestylt.

Andere Tipps

Sie können JavaScript verwenden, um die Stylesheets in dem Dokument zugreifen und dann prüfen, ob das ‚Druck‘ Sheet aktiv ist. Sobald Sie festgestellt, welche CSS-aktiv ist, dann können Sie Ihre Inhalte verwalten.

Die getActiveStyleSheet Funktion würde in etwa so aussieht:

function getActiveStyleSheet() 
{
    var i, a;

    for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) 
    {
        if (a.getAttribute("rel").indexOf("style") != -1
         && a.getAttribute("title")
         && !a.disabled) 
            return a.getAttribute("title");
    }

    return null;
}

Sie können den Code finden Sie hier: http://www.alistapart.com/articles/alternate / .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top