在Firefox中,打印带有锚点标签的页面时,链接位置会在文本后打印。

14
例如,
<a href="../somepage/page.aspx?qs=asdf">Text Here</a>

会打印出以下内容...


这里的文本(../somepage/page.aspx?qs=asdf)


在IE中,它看起来正常(不打印URL)。为什么会出现这种情况?有任何想法吗?


你使用的是哪个版本的ff?它实际上并没有... - 3lectrologos
这在Firefox 26上默认发生。@SteveEynon的答案修复了问题(或禁用了该功能)。 - StackExchange saddens dancek
浏览器本身肯定有一些配置选项可以禁用这个功能吧? - faintsignal
7个回答

27

参考 Brett 的回答,对于 Firefox 25,这个 CSS 样式会移除掉有问题的 href:

@media print {
    a:link:after,
    a:visited:after {
        content: "" !important;
    }
}

8
此外,如果您正在使用Twitter Bootstrap作为框架,以下内容可能会对您有所帮助:
a[href]:after{
    content:"";
}

这个操作可以实现!(至少在bootstrap3中)


1
我不得不添加 !important,否则它就无法工作。 - ZippyV

6
答案在我们使用的CSS框架(Blueprint)中。在样式文件中有以下行:
a:link:after,a:visited:after{content:"(" attr(href) ")";font-size:90%}

我想这可能会对其他使用Blueprint的人有所帮助。


1
在你的布局页(主页面)中添加这个:

Just add this in your layout page (Master Page)

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

1
如果你想更具体地操作,例如删除表格内的链接,那么你可以使用jQuery执行以下操作。
$(".tableclass tr td a").removeAttr("href");

0

您可以通过在打印样式链接中包含媒体属性来完全避免屏幕上的这个问题,如下所示

<link href="../../Content/blueprint/print.css" rel="stylesheet" media="print" type="text/css" />

0

将URL打印在链接旁边还有语义上的原因。 想象一下,如果你没有打印文档的URL,你就不确定是否完全理解作者所表达的意思。

引用时也可能需要打印来源。这对于学术性文本来说非常重要。

事实上,Bretts的答案是正确的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接