如何从打印页面中删除URL?


102

我想删除打印在页面底部的URL。

喜欢:

yomari.com/.../main.php?sen_n

如何将其省略或防止打印?

更具体地说,在打印网页时,有什么办法可以防止页面URL,日期和页面标题一起打印?


3
可以通过编程完成吗?它实际上是浏览器页面设置!
Shoban,2009年

完全是“浏览器页面设置”。但是我发现本教程对于打印页面CSS有所帮助。
Mayeenul Islam 2012年

Answers:


123

以下代码示例将为您工作,

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

请参阅从页面禁用浏览器打印选项(页眉,页脚,边距)的答案

和页面的规格


3
在Firefox 20.0上,这不会从打印预览中删除URL
Mirzhan Irkegulov,


好答案。更好的margin-bottom: 0mm;
做法

2
其实,这工作对我的Firefox 50 @MirzhanIrkegulov
aexl

主题入门者询问如何删除浏览器在打印预览期间添加的顶部和底部冒号(URL页号标题)。
帕维尔·纳扎罗夫

39

我在浏览器端发现了一些东西。

试试这个步骤。在这里,我已经提到了在所有三个主要浏览器中禁用页眉和页脚的步骤。

Chrome 单击浏览器右上角的“菜单”图标。单击打印。取消选中选项部分下的页眉和页脚。

Firefox 单击浏览器左上角的Firefox。将鼠标置于打印上方,单击页面设置。单击页边距和页眉/页脚选项卡。将页眉和页脚下的每个值更改为--blank--。

Internet Explorer 单击浏览器右上角的Gear图标。将鼠标置于打印上方,然后单击页面设置。将页眉和页脚下的每个值更改为-空-。


18

显示URL是浏览器客户端的首选项,该页面中运行的脚本无法访问该URL(让我们面对现实,页面也不能静默地打印自己)。

为了避免通过查询字符串“泄漏”信息,您可以通过POST提交


1
noooo ... POST不是一种加密机制-这是有关请求可能产生的副作用的提示。
troelskn

而不是打印长的多行查询字符串。我很乐意仅打印网址
Shoban,2009年

查询字符串是网址的一部分。如果网址太长,则应改正该网址。
troelskn,2009年

4
我没有说这是加密的事情,它确实从URL中删除了查询参数,这是所要求的缓解因素
Rowland Shaw,2009年

11

如果使用下面的代码设置页面的页边距,则打印页头和页脚将被省略。我已经在FireFox和Chrome中对此进行了测试。

<style media="print">
 @page {
  size: auto;
  margin: 0;
       }
</style>

1
请注意,这会删除Firefox中页面之间的边距。例如:i.imgur.com/krDlC1K.png
布莱斯(Blaise)

8

我告诉您有关Mozilla Firefox的信息(我希望其他浏览器也应如此)。

点击Firefox菜单,进入打印,从打印子菜单中选择页面设置。屏幕上会弹出一个弹出窗口,然后转到“页眉和页眉/页脚” 标签。

在此之前,根据要求在打印之前为页眉/页脚选择“空白”。您可以检查预览以进行确认。

我希望这将有所帮助。



3

您可以通过浏览器设置删除打印文档上的url。只需单击文件->页面设置->页眉和页脚,将所有内容设置为空白。帮你


2

我不知道您是在谈论实际图形中的页脚还是浏览器中打印过程正在执行的URL。

如果URL是URL,则打印过程实际上取决于浏览器(如果他具有将其关闭的功能)。

如果它的页脚信息,我建议使用打印样式表,并在该样式表中进行

display: none;

用于页脚的特定ID或类别。

要制作打印样式表,您需要将其添加到头部。

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

2

如今,您可以history API在打印之前使用它来修改URL,然后再改回来:

var curURL = window.location.href;
history.replaceState(history.state, '', '/');
window.print();
history.replaceState(history.state, '', curURL);

但是您需要创建一个自定义PRINT按钮以供用户单击。


使用您的解决方案,我仍然会在右上角看到“ domain-name.com ”。之后,它删除了所有内容。
Tod Birdsall

1

在Google Chrome浏览器中,可以通过将页边距设置为0来完成此操作,或者将页边距打印为时髦,然后对其进行适当调整以将不需要的文本推送到页面的不可打印区域。我尝试了它,它:D

在此处输入图片说明


1

浏览器问题,但可以通过以下方法解决:

<style type="text/css" media="print">
      @media print
      {
         @page {
           margin-top: 0;
           margin-bottom: 0;
         }
         body  {
           padding-top: 72px;
           padding-bottom: 72px ;
         }
      } 
</style>

由于包含可将页边距放回原处的CSS,因此被批准。谢谢!
Tod Birdsall

0

我会同意大多数答案,说它是浏览器设置,但您仍然可以通过COM实现所需的功能。请记住,大多数浏览器仍然会遇到问题,甚至IE也会向用户提高COM安全性标准。因此,除非您在组织内部没有提供任何东西,否则不要这样做。


0

我也有同样的问题。我想知道是否可以通过jquery插件创建用于打印的HTML:http : //www.recoding.it/? p=138

然后将HTML发送到php脚本(使用ajax调用),并通过http://www.xhtml2pdf.com/http://code.google.com/p/wkhtmltopdf/生成pdf 。

之后,可以显示pdf(通过设置适当的内容类型和直接渲染),或者通过http-重定向显示到生成的pdf。

pfd_for_printing-folder中生成的pdf可以充当缓存,并且每天被作业删除一次。


我想将页面的一部分(带有样式)打印为PDF ...如何实现?stackoverflow.com/questions/25082395/…–
SearchForKnowledge

0

在Chrome 57上,如果您可以控制需要打印的HTML页面(在我的情况下,我需要打印一个3x1英寸的小标签),以下方法对我有用:

  • 从标题中删除HTML标题元素(临时使用jquery或永久(如果该页面实际上不需要标题))
  • 如@Chamika Sandamal所述,将@page页边距设置为0

这导致打印的页面仅包含正文,URL,页面编号等。


0
<style type="text/css" media="print">
  @page {
    size: auto;  
    margin: 0;  
  }
</style>
//now set manual padding to body
<style>
  body{
    padding-left: 1.3cm;
    padding-right: 1.3cm; 
    padding-top: 1.1cm;
  }
</style>

这段代码只删除了空白。这就是为什么url不显示的原因。但是当您使用它时,您丢失了页码。
Pramod Deshmukh,

我只想删除打印页面上的页面URL,而不要删除页面编号
Pramod Deshmukh '18


0

使用jQuery对我来说这很好

<style>
  @media print { @page { margin: 0; } 
   body { margin: 1.6cm; } }
</style>

-1

也许您可以尝试使用chrome(可能也使用Safari)

当我使用Google Chrome在OSX上以pdf格式打印时,页眉和页脚中的url和页号不可见。

抱歉,不确定是否适用于Windows


-1

我有一个技巧可以将其从Firefox的打印页面中删除。用这个:

<html moznomarginboxes mozdisallowselectionprint>

在html标记中,您必须使用moznomarginboxes mozdisallowselectionprint。我相信它将对您有很大帮助。


-1
@media print {
    #Header, #Footer { display: none !important; }
}

检查此链接


1
您好,欢迎来到SO,谢谢您尝试回答这个问题。您能否在答案后面提供更多解释,并在修复背后提供逻辑?干杯!
James Wong-恢复莫妮卡

嗨,谢谢,这至少在chrome中非常有效,我不知道为什么人们不赞成这种完美的解决方案。
萨满

-1

这将是最简单的解决方案。我尝试了Internet上的大多数解决方案,但这仅对我有所帮助。

@print {
    @page :footer {
        display: none
    }

    @page :header {
        display: none
    }
}

1
在什么浏览器中可以使用?在Chrome 80中无法使用。
Ruben S

-3

好吧,我一直在向上和向下搜索,因为我需要我和我的项目的答案,并得出结论,实际上,无论您在url中显示的是什么信息,它的作用都是:

if (!$_SESSION["valid_user"]) 

因此,即使有人只是从您的打印页面中键入确切的地址,他也会得到...。登录页面:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.