打印网站而不打印链接位置?

时间:2010-08-13 11:35:25

标签: javascript html css printing

我正在使用一个简单的window.print()调用导航器打印功能;呼叫。它打印完美(我想打印我在屏幕上看到的相同,所以我没有真正使用特殊的CSS打印)但它显示文本链接旁边的链接位置,如:

    Homepage (http://localhost)

更清楚:我不希望在打印版本的链接附近有链接位置,我可以控制CSS,但我找不到在任何地方定义的这种行为,所以我认为是导航器相关的问题!

编辑: 这种情况发生在Firefox 3.6.8和最后一个Chrome上,在Ubuntu上是Windows XP / Vista。

13 个答案:

答案 0 :(得分:46)

因此,为避免在打印网页中打印出链接信息,请将以下规则添加到@media print部分:

a:link:after, a:visited:after {
    content: "";
}

这会删除像Homepage (http://localhost)这样丑陋的链接信息,并将其缩小为Homepage。您当然可以添加规则以仅在文本部分中避免它(或仅在导航中,但不应以网页的打印格式显示导航。

答案 1 :(得分:23)

似乎您正在使用符合CSS2标准的浏览器打印带有此样式的页面

http://www.alistapart.com/articles/goingtoprint/

  

在完全符合CSS2标准的浏览器中,我们   可以括号插入的URL   每一个之后的链接,从而制作   它们对任何拥有a的人都非常有用   打印输出的副本和Web浏览器   便利。这是规则,哪个   将此效果限制为“内容”   div,从而避免粘贴URL   标头:

#content a:link:after, #content a:visited:after {    
  content: " ("attr(href) ") ";    
  font-size: 90%;   
}
  

在基于Gecko的浏览器中试用,   像Mozilla或Netscape 6.x.后   打印输出中的每个链接,你应该   看到链接的URL   括号中。

答案 2 :(得分:12)

内容:“”;不起作用 我用这个:

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

这可以禁用!

答案 3 :(得分:7)

目前使用content属性应该适用于所有主流浏览器。

    @media print  - or -  <style type="text/css" media="print">

    a:link:after, a:visited:after {  
        content: normal; //TODO: add !important if it is overridden  
    }

此处有更多选项:CSS Content

在此处使用内容属性的更有用的方法:CSS Tricks

答案 4 :(得分:5)

我的应用服务器(rails)要求我使用父选择器。 body元素非常适合选择整个页面。

body a:link:after, body a:visited:after {    
  content: "";
}

答案 5 :(得分:4)

对于使用Bootstrap 3的任何人,使用的选择器是:

a[href]:after { }

可以用以下内容覆盖:

a[href]:after {
   content: initial;
}

答案 6 :(得分:3)

我发现其他解决方案不再适用于跨浏览器。 以下适用于FF 29,Chrome 35,IE 11:

a:link:after, a:visited:after {  
  content: normal !important;  
}

答案 7 :(得分:1)

答案 8 :(得分:1)

添加此项将有助于您删除这些不需要的链接

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

Reading this will help

答案 9 :(得分:1)

虽然已经建议了很多css选项,但是如果你想摆脱每页强制页眉/页脚中的链接和标题,那么只有适合你的设置。如下图所示。

Remove Footer Links in Chrome Print View

那就是它。

答案 10 :(得分:0)

我找到了提到的CSS并删除了它,但它没有帮助,我无法在项目的其他任何地方找到它,所以我使用jQuery删除链接但仍保留文本。

$('a[title="Show Profile"]').contents().unwrap();

此处有更多信息Remove hyperlink but keep text?

答案 11 :(得分:0)

我遇到了同样的问题,如果你正在使用chrome,诀窍在于显示打印窗口时,这个包含一个左配置面板,它提供了一些显示模式配置,其他,下面有一个名为的链接:more params或更多配置(我用法语,所以我试图翻译它),点击它之后它会显示一些额外的选项,其中,有一个复选框“页眉和页脚”取消选中它,它将隐藏“本地主机......” 希望它会有所帮助

答案 12 :(得分:-1)

每个浏览器都设置了打印页眉和页脚,以及背景图形 如果禁用此页眉和页脚打印设置,则它将不会显示在打印页面上