加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bootstrap 3页打印手机版

发布时间:2020-12-18 00:23:29 所属栏目:安全 来源:网络整理
导读:当我们从我们的网站(基于Bootstrap 3)打印页面时,它们会在某些显示移动版本的浏览器上打印.我用谷歌搜索试图找到一个很好的解决方案,但没有找到任何有效的方法. 对于屏幕使用相同的CSS并将“print-hidden”类添加到特定DIV,我们的页面在Mac上使用Safari看起
当我们从我们的网站(基于Bootstrap 3)打印页面时,它们会在某些显示移动版本的浏览器上打印.我用谷歌搜索试图找到一个很好的解决方案,但没有找到任何有效的方法.

对于屏幕使用相同的CSS并将“print-hidden”类添加到特定DIV,我们的页面在Mac上使用Safari看起来很好,但是在Mac上使用Chrome或在PC上使用Firexof和Chrome时,打印预览会显示移动版本.

是否有一种简单的方法可以告诉浏览器视口宽度是常规屏幕而不是手机(XS),还是我们必须包含许多复杂的网格更改等?

解决方法

添加打印媒体查询对我有用.这是我最终偶然发现的.
@media print {
  @page {
    size: 330mm 427mm;
    margin: 14mm;
  }
  .container {
    width: 1170px;
  }
}

330毫米和427毫米的尺寸恰好适合我的1170px断点. (他们也是8.5 / 11口粮.)

编辑:正如@ tony-payne所说,这可能仅适用于Chrome.在我的用例中,这很好.如果不在Chrome中,只需添加一个带有关于打印警告的脚本.

<script>
(function() {
  var isChromium = !!window.chrome;
  var beforePrint = function() {
    alert("Printing is optimized for the Chrome browser.");
  };
  if (window.matchMedia) {
    var mediaQueryList = window.matchMedia('print');
    mediaQueryList.addListener(function(mql) {
      if (mql.matches && !isChromium) {
        beforePrint();
      }
    });
  }
  window.onbeforeprint = beforePrint;
}());
</script>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读