2

頭が溶けていたので、仕事の終わりにこの質問を投稿しました。助けてください。
イベント ハンドラーから JavaScript 関数を呼び出す Web ページがあります。ウィンドウを閉じるには JavaScript 関数を使用します。
このような:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function closeWin() {
    window.opener = null;
    window.close();
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
    <INPUT TYPE="button" VALUE="Close Me" 
    onClick="closeWin()">
</FORM>
</BODY>
</HTML>


この Web ページは、Internet Explorer (私は IE7 を使用しています) で実行する必要があります。
「閉じる」ボタンをクリックすると、ウィンドウが閉じてしまいます。
私の問題は -
(1)ページを右クリックし、印刷プレビューを選択します... (印刷プレビュー ページが表示されます)
(2)閉じる(x)ボタンをクリックして印刷プレビュー ページを閉じます
(3)その後「閉じる」ボタンをクリックしても、ウィンドウは閉じません。
この問題を解決して、印刷プレビューを表示した後、[閉じる] ボタンで Web ページが正しく閉じられるようにする方法がわかりませんか??

(2) -
(2) キーボードのエスケープキー ( Esc ) で印刷プレビューページを
閉じます。 (3) 「閉じる」ボタンをクリックすると、ウィンドウは正常に閉じます。

私は JavaScript の初心者で、この問題がどのように発生したかについてあまり知りません。

4

2 に答える 2

1

これはIE7、8、および9の既知のバグです。これを参照してください

于 2012-09-07T14:48:47.683 に答える
1

これにより、プレビュー ウィンドウと印刷ダイアログが開きます

<script type="text/javascript"><!–
function ClickHereToPrint(){
try{
var oIframe = document.getElementById('ifrmPrint');
var oContent = document.getElementById('divToPrint').innerHTML;
var oDoc = (oIframe.contentWindow || oIframe.contentDocument);
if (oDoc.document) oDoc = oDoc.document;
oDoc.write("<head><title>title</title>");
oDoc.write("</head><body onload='this.focus(); this.print();'>");
oDoc.write(oContent + "</body>");
oDoc.close();
}
catch(e){
self.print();
}
}
// –&gt;</script>
于 2012-05-01T04:23:46.567 に答える