<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>打印测试</title>
<script src="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<button ng-click ="printOpen()">打印</button>
<button ng-click ="test();">测试功能</button>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
$scope.printOpen = function(){
$scope.oPop = window.open('', '_blank', 'width='+ (window.screen.availWidth)+',height='+(window.screen.availHeight)+ ',top=0,left=0');
var str = '<!DOCTYPE html>'
str +='<html>'
str +='<head>'
str +='<meta charset="utf-8">'
str +='<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">'
str+='<style>';
str+='#oDiv2 div{width: 100px;height: 100px;border:1px solid #c50000;}';
str+='</style>';
str +='</head>'
str +='<body onload="window.print()">'
str +="<div id='oDiv2'><div>bbb</div></div>";
str +='</body>'
str +='</html>'
$scope.oPop.document.write(str);
$scope.oPop.document.close();
}
$scope.test = function(){
console.log('ffffff')
}
});
</script>
</body>
</html>
我这边测试了,打印的时候新弹出的那个打印窗口就自动关闭了(不用手动去关闭),你要的是这种效果吧