IE で問題が発生しています。javascript を使用して子ウィンドウを開き、子ウィンドウに onerror イベントをアタッチすると、子ウィンドウの OnLoad で JS エラーがキャッチされません。以下のコードは FF で正常に動作しています。コード例は次のとおりです。
親ページ:
<html>
<head>
<script>
function openpage()
{
console.log('opening');
var w = window.open('demo2.html', '_blank');
//without setTimeout onerror is not working
setTimeout(function(){w.onerror = function(msg, file, line) { alert(msg); };}, 3000)
//w.onerror = function(msg, file, line) { alert(msg); };
}
</script>
</head>
<body>
<input type="button" onclick="openpage()" />
</body>
</html>
子ページのコード (demo2.html):
<html>
<head>
<script>
//function with error
function fun(var1,var2){aler(var1);}
</script>
</head>
<body onload="fun(2,3)">
<input type="button" onclick="fun(2,3)" />
</body>
</html>
上記の方法が有効でない/正しくない場合、子ページで生成された JS エラーをキャプチャする方法を提案してください。
ありがとう、パンカイ