我有一个html元素所在的页面,最后通过javascript调用print函数。
<script type="text/javascript">
$(document).ready(function(){
window.print();
window.history.back();
})
</script>
现在我有这个代码在打印后重定向用户或点击取消。它适用于本地,但在实时服务器中,它会立即转到上一页。
答案 0 :(得分:3)
使用此功能返回上一页
$(document).ready(function() {
window.print();
history.go(-1);
});
或:
$(document).ready(function() {
window.print();
history.back();
});
答案 1 :(得分:2)
您可以尝试使用window.onafterprint
功能。
用户打印或中止打印后会引发afterprint事件 对话框。
因此,对于您的代码(仅适用于FF和IE),我将尝试使用类似的内容:
<script type="text/javascript">
$(document).ready(function(){
window.print();
})
window.onafterprint = function() {
history.go(-1);
};
</script>
现在,基于Webkit的浏览器使用matchMedia('print') ...
有点像...
var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function(mql) {
if (mql.matches) {
console.log('onbeforeprint equivalent');
} else {
console.log('onafterprint equivalent');
}
});
来源:
WindowEventHandlers.onafterprint
Detecting Print Requests with JavaScript
onbeforeprint and onafterprint is not working in Chrome and IE?
答案 2 :(得分:0)
也许你应该尝试在新窗口中打印?
这样的事情:
var myWindow=window.open('','','width=200,height=100');
myWindow.document.write("<p>This is 'myWindow'</p>");
myWindow.document.close();
myWindow.focus();
myWindow.print();
myWindow.close();
myWindow.history.back();