Link-URLs in Druckansicht im Internetexplorer
Michael van Laar
- css
-1 Der Martin0 Manuel0 Martin Hölter
Mit Hilfe von
a[href]:after {
content: " ["attr(href)"]";
}
im Print-Stylesheet kann man hinter jedem Link die URL ausgeben lassen. :after funktioniert jedoch nicht im Internet Explorer.
Die Wikipedia schafft es aber trotzdem, die URL jedes Links ausgeben zu lassen - auch im Internet-Explorer. Ich konnte jedoch noch keinen speziellen Trick im Quelltext oder im Stylesheet finden. Dort wird auch nur für Links mit bestimmten Klassen mit Hilfe von :after die URL ausgegeben.
Hat jemand eine Idee, wo der Trick liegen könnte?
Michael
Hallo,
Die Wikipedia schafft es aber trotzdem, die URL jedes Links ausgeben zu lassen - auch im Internet-Explorer.
Ach, tatsächlich? Bei mir im IE 5.5 nicht. Die Links werden durch ihre blaue Farbe und durch eine Unterstreichung beim Hovern kenntlich gemacht, in der Statuszeile erscheint auch das Linkziel, wie es sich gehört.
Eine weitergehende Auszeichnung kann ich nicht entdecken.
Selbst wenn ich eine Wikipedia-Seite zum Vergleich mal im Firefox aufrufe, sieht das genauso aus - also was genau meinst du eigentlich?
Hat jemand eine Idee, wo der Trick liegen könnte?
Welcher Trick?
Könnte es eine Browsererweiterung sein, die *du* installiert hast und die das leistet, was du hier beschreibst?
So long,
Martin
Ach, tatsächlich? Bei mir im IE 5.5 nicht.
Könnte es eine Browsererweiterung sein, die *du* installiert hast und die das leistet, was du hier beschreibst?
Es ist mit Sicherheit keine Browsererweiterung. Einfach mal http://de.wikipedia.org im IE aufrufen (hab's bisher nur mit IE 6 probiert) und die Druckansicht im Menü Datei anschauen. Dort sieht man dann hinter jedem externen Link in Klammern und kursiv die jeweilige URL (gem. Stylesheet).
Lieber Michael
Es ist mit Sicherheit keine Browsererweiterung. Einfach mal http://de.wikipedia.org im IE aufrufen (hab's bisher nur mit IE 6 probiert) und die Druckansicht im Menü Datei anschauen. Dort sieht man dann hinter jedem externen Link in Klammern und kursiv die jeweilige URL (gem. Stylesheet).
Ich habe das nun auch gerade mal mit dem IE6 probiert.
Und bei mir werden unter "Datei / Druckvorschau" auch keine
URLs angezeigt. Die Links sind dann einfach nur fett gedruckt.
Oder habe ich Dich da jetzt irgendwei falsch verstanden?
Gruß
Ingo
Hallo Michael,
Es ist mit Sicherheit keine Browsererweiterung. Einfach mal http://de.wikipedia.org im IE aufrufen (hab's bisher nur mit IE 6 probiert) und die Druckansicht im Menü Datei anschauen.
Kann ich beim besten Willen nicht nachvollziehen, sorry.
Das mit der Druckversion der Seite hatte gestern außerdem überlesen, in der Druckversion werden Links natürlich *überhaupt nicht* gekennzeichnet.
Dort sieht man dann hinter jedem externen Link in Klammern und kursiv die jeweilige URL
Nö. Ich sehe da gar nichts, tut mir leid. Weder im IE5.5 noch im IE6. Da ist der Beschreibungstext des Links, dann das Symbol, das ihn als "extern" markiert, weiter nichts.
Ciao,
Martin
Könnte mir vorstellen das das mit JavaScript möglich ist.
Eine andere (jedoch ziemlich behämmerte) Möglichkeit wäre die links in der form
<a href="http://www.selfhtml.org">http://www.selfhtml.org<span>http://www.selfhtml.org</span></a>
zu schreiben, den span mittels
a span {display: none;} auszublenden,
und im druckstylesheet mittels
* html a span {display: inline;}
wieder anzuzeigen.
inwieweit das jetzt sinnvoll bzw semantisch ist, sei dahingestellt. die frage ist ob der IE das wirklich wert ist.
Hi!
Dann schau dir die Seite nochmal genauer an. In http://de.wikipedia.org/skins-1.5/common/IEFixes.js steht folgendes Script:
onbeforeprint = function() {
expandedURLs = [];
var contentEl = document.getElementById("content");
if (contentEl)
{
var allLinks = contentEl.getElementsByTagName("a");
for (var i=0; i < allLinks.length; i++) {
if (allLinks[i].className.hasClass("external") && !allLinks[i].className.hasClass("free")) {
var expandedLink = document.createElement("span");
var expandedText = document.createTextNode(" (" + allLinks[i].href + ")");
expandedLink.appendChild(expandedText);
allLinks[i].parentNode.insertBefore(expandedLink, allLinks[i].nextSibling);
expandedURLs[i] = expandedLink;
}
}
}
}
onafterprint = function()
{
for (var i=0; i < expandedURLs.length; i++)
if (expandedURLs[i])
expandedURLs[i].removeNode(true);
}
Die "Eventhandler" kannte ich zwar nicht, aber es scheint zu funktionieren.
Gruß aus Iserlohn
Martin