JavaScript/HTML中的对比层

JavaScript/HTML中的对比层,javascript,html,contrast,Javascript,Html,Contrast,我的web应用程序的基础是一张地图,它由许多苍白的瓷砖组成。 所以,使用黑白打印机打印这一页的结果非常糟糕 有没有可能在地图上的某个图层上放置,使其更具对比度 (在打印模式下更换瓷砖是个坏主意,是的)。您有两条路线。首先是添加打印样式表,如下所示: <link rel="stylesheet" href="printstyle.css" media="print" /> 另一种方法是在发生打印事件时调用javascript函数。然而,据我所知,这仅由Firefox 6+和IE支持:

我的web应用程序的基础是一张地图,它由许多苍白的瓷砖组成。 所以,使用黑白打印机打印这一页的结果非常糟糕

有没有可能在地图上的某个图层上放置,使其更具对比度


(在打印模式下更换瓷砖是个坏主意,是的)。

您有两条路线。首先是添加打印样式表,如下所示:

<link rel="stylesheet" href="printstyle.css" media="print" />
另一种方法是在发生打印事件时调用javascript函数。然而,据我所知,这仅由Firefox 6+和IE支持:

window.onbeforeprint = function() { /* ... */ }
如果要从javascript生成打印事件,可以使用以下代码解决浏览器兼容性问题:

(function(){

  // make a copy of the native window.print
  var _print = this.print;

  // create a new window.print
  this.print = function () {
    // if `onbeforeprint` exists, call it.
    if (this.onbeforeprint) onbeforeprint(this); 
    // call the original `window.print`.
    _print(); 
    // if `onafterprint` exists, call it.
    if (this.onafterprint) onafterprint(this);
  }

}())
(来源:)

(function(){

  // make a copy of the native window.print
  var _print = this.print;

  // create a new window.print
  this.print = function () {
    // if `onbeforeprint` exists, call it.
    if (this.onbeforeprint) onbeforeprint(this); 
    // call the original `window.print`.
    _print(); 
    // if `onafterprint` exists, call it.
    if (this.onafterprint) onafterprint(this);
  }

}())