2017年6月度のWindows UpdateでIEの印刷に不具合があり、フレームを使用している画面で印刷ができないらしい。この件に関して、Microsoftは修正しないようだ。

代替案としては、JavaScriptでwindow.print()を使用してるのであればdocument.execCommand(‘print’, false, null)に変更してみるとよいらしい。

実際に試してみる。

環境

Internet Explorer 11.0.9600.18697

frame.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>frame</title>
</head>
<frameset rows="100%">
  <noframes>
  このページはフレーム未対応です。
  </noframes>
  <frame src="contents.html" name="frame1">
</frameset>
</html>

contents.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <input type="button" value="window.print" onclick="window.print()"><br>
    <input type="button" value="document.execCommand"
      onclick="document.execCommand('print', false, null)"><br>
  </body>
</html>

印刷結果

window.printは印刷できなかったが(印刷結果が真っ白)、document.execCommandは印刷できた。

参考サイト

【アプデ】 2017年6月度のパッチでInternet Explorerの印刷に不具合 [Update 1: 修正パッチが出ました。記事下部の追記参照]