2017-02-23 5 views
1

Ich habe eine Webseite mit einer Tabelle. Wenn sich ein Benutzer anmeldet, kann er auf die Zeilenköpfe klicken, um die Bearbeitungsseite aufzurufen. Damit die gedruckte Version für angemeldete und nicht angemeldete Benutzer identisch aussieht, verwende ich CSS, um die Verknüpfung als normalen Text zu formatieren.Wie man Link nicht klickbar macht, wenn er als PDF druckt

Das Problem ist, dass das Speichern als PDF-Funktion in Chrome speichert die Links mit ihrer href, so dass sie eine Webseite öffnen, wenn Sie auf die gespeicherte PDF geklickt. Gibt es eine Möglichkeit, diese href während dieses 'Druck' zu entfernen, anders als die offensichtliche Möglichkeit, zwei Elemente zu haben und nur die anklickbare in @media not print und zeigt nur die nicht anklickbare in @media print?

Ich bevorzuge nicht mit JavaScript, um die href während des Druckens zu ändern.

+0

Sie könnten eine zusätzliche hinzufügen Klasse zu diesen Links und verwenden Sie dann einen 'display: none' Stil auf Ihrem Druck-Stylesheet. – ChelseaStats

+0

@ChelseaStats Ich habe klären sollte, dass der Link für jede Zeile auf den Titel angewendet wird (zB 'Item #1 ...') – Nulano

+0

@ChelseaStats dieses Lesen Sie noch einmal: ... andere als die offensichtliche Art und Weise zwei mit Elemente und zeigt nur die anklickbare in '@media nicht gedruckt' und zeigt nur die nicht klickbare in' @media print'? – Nulano

Antwort

0

können Sie das OnClick Attribut verwenden, um die Edit-Seite zu öffnen:

<th onclick="location.href='?edit=ID'">Item #1</th> 

Um es als Link zu Stil, verwenden Sie die th[onclick] CSS-Selektor:

@media not print { 
    th[onclick], td[onclick] { 
     color: #00e; 
     text-decoration: underline; 
     cursor: pointer; 
    } 
} 
0

Verwendung wie dieser entfernen Anker-Tag und div setzt ... wie

<style> 
    #d:active { 
    load-url: (http://google.com/ 
} 
    </style> 
    <div class="click" id="d" > 

    </div> 
+0

Wie würde das Laden einer bestimmten Website für jede Zeile? (Meine URL ist '? Edit = ID', wobei ID die ID der Zeile in der SQL-Tabelle ist) – Nulano

2

Sie pointer-events verwenden können, finden Sie hier die Browser-Kompatibilität für die http://caniuse.com/#search=pointer-events. Es wird Ihren Link deaktivieren.

@media print { 
    a { 
    pointer-events: none; 
    color: #000; 
    text-decoration: none; 
    } 
} 
+0

Das hat keine Auswirkungen für mich. Der Link kann nicht in Chrome angeklickt werden, aber nach dem "Drucken" mit "Als PDF speichern" ist der Link wieder anklickbar (er kann sogar im Druckvorschau-Fenster angeklickt werden). – Nulano

+0

Versuchen Sie, diesen Codepen zu drucken, indem Sie auf die Schaltfläche klicken http://codepen.io/TunderScripts/pen/vxYNwE –

+0

Das entfernt den Link. Wenn Sie jedoch die href in z. google.com, der Link wird beim Drucken nicht mehr entfernt. – Nulano

Verwandte Themen