Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 捕捉angularjs中的浏览器控制台错误并在弹出窗口中显示_Javascript_Html_Angularjs_Error Handling_Console.log - Fatal编程技术网

Javascript 捕捉angularjs中的浏览器控制台错误并在弹出窗口中显示

Javascript 捕捉angularjs中的浏览器控制台错误并在弹出窗口中显示,javascript,html,angularjs,error-handling,console.log,Javascript,Html,Angularjs,Error Handling,Console.log,我已将jade转换为html,并使用jade.js在AngularJS应用程序的弹出窗口中显示预览。 翡翠可以在文本区编辑,我也有一个预览按钮 问题是,当用户在jade控制台中遗漏了某些内容时,错误会显示为正确的消息和行号 我想在弹出窗口而不是控制台中显示此错误 我在控制器中尝试了以下方法,但似乎不起作用: $scope.emailShowPreview=function(){ $scope.locals=$scope.variables\u用于电子邮件\u预览; window.onerror=

我已将jade转换为html,并使用jade.js在AngularJS应用程序的弹出窗口中显示预览。 翡翠可以在文本区编辑,我也有一个预览按钮

问题是,当用户在jade控制台中遗漏了某些内容时,错误会显示为正确的消息和行号

我想在弹出窗口而不是控制台中显示此错误

我在控制器中尝试了以下方法,但似乎不起作用:

$scope.emailShowPreview=function(){
$scope.locals=$scope.variables\u用于电子邮件\u预览;
window.onerror=函数myErrorHandler(错误、url、行){
警报(“错误”,err);
return false;//所以您仍然将错误记录到控制台中
}
试一试{
var jadeFunc=jade.compile($scope.editFileds.body);
}抓住{
window.onerror();
}
//将jade模板编译为html
//控制台错误发生在下面
$scope.templateFunc=jade.compile($scope.editFileds.body);
$scope.compiledHtml=$scope.templateFunc($scope.locals);
var modalInstance=$modal.open({
范围:$scope,
templateUrl:“../../views/email preview popup.html”,
背景:“静态”,
});
$scope.close=函数(){
modalInstance.解散(“取消”);
};
};
我也提到了下面的页面,但有点困惑:-


看看这篇文章。@Viksool如何在我的代码中调用该函数?还是会在浏览器控制台上自动调用它?在父js中添加
window.onerror
实现(在每个页面上调用,而不是在角度侧调用)或者,您可以将该函数添加到HTML页面,每当浏览器遇到错误时,该函数将自动调用,并充当全局错误处理程序。