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

Posted

技术标签:

【中文标题】如何从打印页面中删除 URL?【英文标题】:How to remove the URL from the printing page? 【发布时间】:2010-10-09 18:33:23 【问题描述】:

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

喜欢:

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

如何省略或防止打印?

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

【问题讨论】:

可以以编程方式完成吗?它真的是一个浏览器页面设置! 完全是“浏览器页面设置”。但我发现this tutorial 对打印页面 CSS 有点帮助。 【参考方案1】:

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

<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>

在Disabling browser print options (headers, footers, margins) from page?上查看答案

和specification of the @page

【讨论】:

在 Firefox 20.0 上,这不会从打印预览中删除 URL 火狐解决方案:***.com/questions/2192806/… 很好的答案。最好只设置底部边距,例如margin-bottom: 0mm; 这实际上在我的 Firefox 50 上工作 @MirzhanIrkegulov 主题发起人询问如何删除浏览器在打印预览期间添加的顶部和底部冒号(url页码标题)。【参考方案2】:

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

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

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

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

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

noooo ... POST 不是加密机制 - 它是对请求可能产生的副作用的提示。 而不是打印一个长的多行查询字符串。我很乐意只打印网址 查询字符串是 url 的一部分。如果 url 太长,你应该改正它。 我没有说这是一个加密的东西——它确实从 URL 中删除了查询参数,这是一个请求的缓解因素【参考方案4】:

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

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

【讨论】:

请注意,这会删除 Firefox 中页面之间的边距。示例:i.imgur.com/krDlC1K.png【参考方案5】:

这对我有帮助: Print page without links

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

【讨论】:

你能解释一下吗 我遇到了引导超链接在打印页面上显示其 href 内容的问题。这个解决方案帮助我解决了这个问题。 就像一个魅力。谢谢【参考方案6】:

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

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

【讨论】:

赞成,因为您包含了将边距放回原处的 CSS。谢谢!【参考方案7】:

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

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

在打印前根据要求为页眉/页脚选择“BLANK”。您可以查看预览进行确认。

我希望这会有所帮助。

【讨论】:

【参考方案8】:

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

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

但是您需要制作一个自定义的PRINT 按钮供用户点击。

【讨论】:

使用您的解决方案,我仍然看到右上角印有“domain-name.com”。之后它删除了所有内容。 这在 SPA 中不起作用,因为客户端路由器在打印之前更改了视图。【参考方案9】:

您可以通过浏览器设置删除打印文档上显示的 url。您只需单击文件->页面设置->页眉和页脚将所有内容设置为空白。如果您有,只需从页脚文本框中删除 &U。希望这会对你有所帮助

【讨论】:

【参考方案10】:

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

如果它的 url 打印过程正在做它真的取决于浏览器,如果他有一个功能来关闭它。

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

display: none;

对于页脚的特定 ID 或类。

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

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

【讨论】:

【参考方案11】:
@media print  a[href]:after  content: none !important;  

【讨论】:

【参考方案12】:

使用 jquery 对我来说效果很好

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

【讨论】:

【参考方案13】:

在谷歌浏览器中,这可以通过将边距设置为 0 来完成,或者如果打印出时髦,然后将其调整到足以将不需要的文本推送到页面的不可打印区域。我试过了,它有效:D

【讨论】:

【参考方案14】:

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

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

这导致打印的页面仅包含正文,没有 URL,没有页面 #s 等。

【讨论】:

【参考方案15】:

我同意大多数答案,说它是一个浏览器设置,但你仍然可以通过 COM 实现你想要的。请记住,大多数浏览器仍然会遇到问题,甚至 IE 也会向用户提高 COM 安全栏。因此,除非它不是您在组织内提供的东西,否则不要这样做。

【讨论】:

【参考方案16】:

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

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

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

在 pfd_for_printing-folder 中生成的 pdf 文件可以作为缓存,每天被作业删除一次。

【讨论】:

我想将部分页面(带样式)打印为 PDF... 我该如何实现? ***.com/questions/25082395/…【参考方案17】:
<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 不显示的原因。但是当您使用它时,您会丢失页码。 我只想删除打印页面上的网址而不是页码【参考方案18】:

Chrome headless 现在支持一个额外的选项--print-to-pdf-no-header,它从打印的 PDF 文件中删除了页眉和页脚

【讨论】:

【参考方案19】:

也许你可以试试 chrome(也可能是 Safari)

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

抱歉,不确定这是否适用于 windows

【讨论】:

【参考方案20】:

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

<html moznomarginboxes mozdisallowselectionprint>

在 html 标签中你必须使用moznomarginboxes mozdisallowselectionprint。我相信它会对你有很大帮助。

【讨论】:

【参考方案21】:
@media print 
    #Header, #Footer  display: none !important; 

查看link

【讨论】:

您好,欢迎来到 SO,感谢您尝试回答这个问题。您能否在答案背后提供更多解释以及修复背后的逻辑?干杯! 嗨,谢谢,这在 chrome 中完美运行(至少),我不知道为什么人们不赞成这个完美的解决方案。 @Saman 因为这个解决方案在极其特殊的情况下不起作用。也就是说,如果您的页眉称为#Header,而您的页脚称为#Footer。这在某些 wordpress 模板中可能工作正常,但在其他任何地方都不能正常工作。除此之外,它没有回答 OP 的问题,即隐藏浏览器创建的 URL,而不是页眉/页脚。坦率地说,我很惊讶它没有更多的反对票。【参考方案22】:

这将是最简单的解决方案。我尝试了互联网上的大多数解决方案,但只有这个对我有帮助。

@print 
    @page :footer 
        display: none
    

    @page :header 
        display: none
    

【讨论】:

这在什么浏览器中有效?在 Chrome 80 中它不起作用。

以上是关于如何从打印页面中删除 URL?的主要内容,如果未能解决你的问题,请参考以下文章

node.js 与 express 如何从 url 中删除查询字符串

如何从 URL 中删除锚标记?

如何从网址中删除哈希“#”符号?

如何从我的网站页面中删除 .html? [复制]

从 URL 中删除目录

如何将我的数据库打印为 html 页面上的表格?