0

次の関数 openwin() を使用して、ページを作成して開きます。問題は、myWindow.document.close(); を使用する場合です。IE10 互換モードを使用すると失敗します。
クラッシュ レポートには、document.close() に関する「リモート プロシージャ コールが失敗しました」と表示されます。

デバッガーをステップ実行すると、失敗しません (おそらくどこかでドキュメントを自動的に閉じています)。

ドキュメントを閉じない場合 (任意の IE モードで)、ページはおそらく 30 秒間待機してから、javascript (Google 翻訳) をロードします。おそらく、ページがタイムアウトし、ドキュメントを閉じてから JavaScript を実行します。

これを引き起こしているアイデアはありますか (IE10 互換モードでの失敗)?

また、この問題は、ページにスクリプトが含まれている場合にのみ発生します。

ありがとう、

ファーガル。

function openWin(){
    if( $('#worksheetbtn').data('created')==true){
        var day = new Date(); 
        var id = day.getTime();
        myWindow=window.open("",id);
        myWindow.document.write('<html><head>');
        myWindow.document.write('<meta name="google-translate-customization" content="8920959a5c7c1a2e-252a0ea397b87b27-g0d7aa06f124f9dec-14"></meta>');
        myWindow.document.write('<style type="text/css"> td {valign="top";} td.upper_line { border-top:solid 1px ;}table.fraction {border-top-color: #000000;text-align: center; vertical-align: middle; margin-top:0.5em; margin-bottom:0.5em; line-height: 2em; }</style> ');
        myWindow.document.write('<title> Steps To Maths Worksheet Creator - STM The software for Learning Maths Online. </title>');
        myWindow.document.write('</head>    <body>');
        myWindow.document.write('<div id="google_translate_element">Translate</div>');
        myWindow.document.write('<p>Steps To Maths </p>'    );
        myWindow.document.write($('#worksheetbtn').data('worksheet_html') );
        myWindow.document.write('</body>');
        myWindow.document.write('<script type="text/javascript"> function googleTranslateElementInit() {  new google.translate.TranslateElement({pageLanguage: \'en\', autoDisplay: false}, \'google_translate_element\');}</script>');
        myWindow.document.write('<script type="text/javascript" src="\/\/translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>');


        myWindow.document.write('</html>');
        myWindow.focus();
//      myWindow.document.close(); 

    } else alert('The worksheet cannot be opened, please select a category, number of questions and click on the Load Questions button');
}
4

1 に答える 1

-1

あなたはただ使うことができます

myWindow.close();
于 2013-07-31T13:18:59.737 に答える