打印时如何避免弹出窗口阻止程序

时间:2014-01-19 20:08:44

标签: javascript

在商业网站上,用户需要能够打印订单。

我可以通过弹出窗口执行此操作:

w = window.open();
w.document.write(data);
w.print();
w.close();

但是,如果用户有弹出窗口拦截器,我该怎么办?

是否有其他打印方式我应该提供(即不使用弹出窗口)或者我是否应该假设用户如果真的想要打印则会启用弹出窗口?谷歌地图似乎使用弹出窗口进行打印,所以这似乎是解决这个问题的可接受方式。

所以问题是,如何避免弹出窗口拦截器问题?

格雷格

1 个答案:

答案 0 :(得分:1)

也许在新标签页面中打开窗口有帮助。但是,我认为无法在JavaScript中控制窗口阻止。

请看这个例子:

var OpenInNewTab = function (url )
{
  var win=window.open(url, '_blank');
  win.focus();
}

来源:https://stackoverflow.com/a/11384018/1054926

小提琴:http://jsfiddle.net/Jr8dk/2/。 在Safari 7中测试,但没有禁用弹出窗口。