我试图检测控制台错误发生的时间。我已经看过这里,看过2条建议
window.onerror
和
try catch
以下内容展示了一个问题,即没有抓住这个问题" (按照下面的代码,抓住了,我希望看到alert
,但我不会。)
window.onerror = function(error) {
alert("window error..." + error );
}
const arr = [];
try{
arr.push({
'firstValue':'Me 'And' You',
'otherValue':5
});
}catch(err){
alert("Error..." + err);
}
导致问题的部分是
'firstValue':'Me 'And' You',
原因在于如何生成这行代码,我怀疑真正的解决方法是纠正这个问题(使用MVC.NET Razor)
'firstValue': '@Model.MyStringWithNoFormattingOrChecking'
MyStringWithNoFormattingOrChecking
的值为Me 'And' You
但是,我的问题是onerror
或try catch
无效的原因。或者我可以做些什么来使用javascript(我实际上没有显示警报,我通过Ajax登录)#
答案 0 :(得分:2)
尝试将onerror
代码放在自己的脚本标记中,该标记早于此语法错误运行。
此代码可以满足您的需求
<head>
<script type="text/javascript">
window.onerror = function(error) {
alert("window error..." + error );
}
</script>
<script type="text/javascript">
const arr = [];
try{
arr.push({
'firstValue':'Me 'And' You',
'otherValue':5
});
}catch(err){
alert("Error..." + err);
}
</script>
</head>
[在Firefox,Chome和Edge中测试]