chrome实现直接打印
预览页自动点击打印
准备工作:
-
电脑连接打印机,并设置一个默认打印机
-
--kiosk-printing (chrome启动加该参数,这是在预览页自动点击打印按钮的)
在chrome的快捷方式这里加上该参数,重启chrome
function dayin(){
var newWindow=window.open('','_blank','width=1,height=1,top=10000,left=10000');
var html = "";// 这里的html可由别处传参,也可自己去接口获取
newWindow.document.write(html);
newWindow.document.close();
newWindow.print();
newWindow.close();
}
这样在chrome中调用这段js打印内容时,就可以实现直接打印。
window.open的方式有个缺陷,就是会弹出新窗口,虽然设置其位置不可见了,但是有的用户chrome的设置在弹出新窗口时会拦截,可以用iframe来解决。
var iframe = document.createElement('IFRAME');
iframe.setAttribute('style', 'width:0px;height:0px;left:-500px;top:-500px;');
document.body.appendChild(iframe);
var doc = iframe.contentWindow.document;
// 实践证明 doc.innerHTML = '要打印的html内容';这种写法是不行的
// doc.innerHTML = '要打印的html内容';
// 需要用
doc.write('要打印的html内容');
iframe.contentWindow.focus();
iframe.contentWindow.print();
document.body.removeChild(iframe);
r
java 元注解 方法体 spring 元注解
前言众所周知,spring 从 2.5 版本以后开始支持使用注解代替繁琐的 xml 配置,到了 springboot 更是全面拥抱了注解式配置。平时在使用的时候,点开一些常见的等注解,会发现往往在一个注解上总会出现一些其他的注解,比如 @Service:@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Document