Musisz usunąć wartości href podczas drukowania w Chrome


290

Próbuję dostosować drukowany CSS i stwierdzam, że drukuje on linki wraz z hrefwartością, a także link.

To jest w Chrome.

W przypadku tego HTML:

<a href="http://www.google.com">Google</a>

Drukuje:

Google (http://www.google.com)

I chcę to wydrukować:

Google

1
Pamiętaj, DLACZEGO każdy główny framework CSS to robi - nie możesz kliknąć na papierze! Więc jeśli chcesz go dezaktywować, powinieneś dodać listę linków na dole, na przykład: alistapart.com/article/improvingprint
Julix

1
To prawda, ale myślę, że lepiej mieć kontrolę nad tym, kiedy i gdzie pojawia się link. Na przykład w moich linkach chcę, aby pojawiały się w następnym wierszu po tekście i bez nawiasów. Po prostu pokazuję adres URL w tekście.
user4052054

Odpowiedzi:


602

Bootstrap robi to samo (... jak wybrana poniżej odpowiedź).

@media print {
  a[href]:after {
    content: " (" attr(href) ")";
  }
}

Po prostu usuń go stamtąd lub zastąp w swoim własnym arkuszu stylów drukowania:

@media print {
  a[href]:after {
    content: none !important;
  }
}

17
<style>@media print{a[href]:after{content:none}}</style>Przeważnie publikuję dla siebie, gdy wracam na tę stronę, dziękuję
William Entriken

1
Najwyraźniej Fundacja robi to samo.
spasticninja

Wygląda na to, że HTML5 Boilerplate to robi! Sądzę więc, że muszę to zmienić poprzez zmianę kodu na mojej własnej stronie oraz przez Inspektora na innych stronach ...
ADTC

Ostrzeżenie: mieliśmy problemy, w wyniku których tabela czasami traciła kilka ostatnich wierszy podczas drukowania. Okazało się, że winowajcą była ta reguła, a przynajmniej usunięcie jej rozwiązało problem. Nie wiem, dlaczego to miało taki efekt.
Henrik N

1
@HenrikN - myślę, że jest to związane z ruchomymi kolumnami bootstrap. użycie w float:nonerazie potrzeby naprawiło dla mnie podobny problem kilka tygodni temu; może ci pomóc, ale to inny problem
Andrew

40

Tak nie jest . Gdzieś w arkuszu stylów drukowania musisz mieć tę sekcję kodu:

a[href]::after {
    content: " (" attr(href) ")"
}

Jedyną inną możliwością jest to, że masz rozszerzenie, które robi to za Ciebie.


1
Mam go w Zurb Foundation CSS.
forX


10

Jeśli korzystasz z następującego CSS

<link href="~/Content/common/bootstrap.css" rel="stylesheet" type="text/css"    />
<link href="~/Content/common/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="~/Content/common/site.css" rel="stylesheet" type="text/css" />

wystarczy zmienić go na następujący styl, dodając media = "screen"

<link href="~/Content/common/bootstrap.css" rel="stylesheet" **media="screen"** type="text/css" />
<link href="~/Content/common/bootstrap.min.css" rel="stylesheet" **media="screen"** type="text/css" />
<link href="~/Content/common/site.css" rel="stylesheet" **media="screen"** type="text/css" />

Myślę, że to zadziała.

poprzednie odpowiedzi jak

    @media print {
  a[href]:after {
    content: none !important;
  }
}

nie działały dobrze w przeglądarce Chrome.


4

Podobny problem napotkałem tylko z zagnieżdżonym obrazem img w mojej kotwicy:

<a href="some/link">
   <img src="some/src">
</a>

Kiedy złożyłem podanie

@media print {
   a[href]:after {
      content: none !important;
   }
}

Z jakiegoś powodu zgubiłem obraz i całą szerokość kotwicy, więc zamiast tego użyłem:

@media print {
   a[href]:after {
      visibility: hidden;
   }
}

co działało idealnie.

Dodatkowa wskazówka : sprawdź podgląd wydruku


1

Aby ukryć adres strony.

użyj media="print"przykładowego stylu:

<style type="text/css" media="print">
            @page {
                size: auto;   /* auto is the initial value */
                margin: 0;  /* this affects the margin in the printer settings */
            }
            @page { size: portrait; }
</style>

Jeśli chcesz usunąć linki:

@media print {
   a[href]:after {
      visibility: hidden !important;
   }
}

-2

Dla zwykłych użytkowników. Otwórz okno inspekcji bieżącej strony. I wpisz:

l = document.getElementsByTagName("a");
for (var i =0; i<l.length; i++) {
    l[i].href = "";
}

Wtedy nie zobaczysz linków URL w podglądzie wydruku.


To dobre rozwiązanie, jeśli nie masz kontroli nad kodem źródłowym strony, którą próbujesz wydrukować.
Paddymac,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.