window.print()コールバック関数


ケース1)IE 8において,コールバック前関数は可能であり,コールバック後関数は可能である.
alert方式テスト:
テスト結果:
シーケンス1:alert(1)
手順2:alert(2)
手順3:ポップアップ印刷画面
ケース2)Googleで呼び出し,コールバック前,コールバック後,2つの関数がそれぞれ2回呼び出される.
alert方式テスト:
テスト結果:
シーケンス1:alert(1)
手順2:ポップアップ印刷画面
手順3:alert(1)
手順4:alert(2)
手順5:alert(2)
console.log方式テスト:
テスト結果:beforePrint,beforePrint,afterPrint,afterPrint
関数:
$(function(){
	var beforePrint = function() {
        console.log("beforePrint");
        alert(1);
    };

	var afterPrint = function() {
	console.log("afterPrint");
        alert(2);
	};

	if (window.matchMedia) {
	   var mediaQueryList = window.matchMedia('print');
	   mediaQueryList.addListener(function(mql) {
	       if (mql.matches) {
	            beforePrint();
	       } else {
	            afterPrint();
	       }
	   });
	 }

	window.onbeforeprint = beforePrint;
	window.onafterprint = afterPrint;
});

function applyPrint(){
	window.print();
}

 
 
参照先:
segmentfault:windowを呼び出す.print()メソッドでは、印刷またはキャンセルのステータスを取得するにはどうすればいいですか?