次の関数 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');
}