javascript容错处理代码(屏蔽js错误)


Posted in Javascript onJanuary 20, 2017

有时候大家来浏览网页的时候发现IE浏览器左下角总有个黄色错误标志,有时候更是直接弹出错误无法继续浏览页面,这样对于网站的正规性与权威性发展不利。

国外银行页面就是因为这样的错误,导致用户大量流失不敢用这个银行的网上银行等导致损失惨重。

所以一个想要在用户体验与公司实力上都是不容出现的错误,就是不影响使用也不能让用户反感,三水点靠木一直致力于为大家提高更好的代码,所以这里我们将会大家整理一些常用的代码,使用方法什么,希望大家以后能越来越支持我们,让我们共同发展。

第一种:三水点靠木在用的

<SCRIPT language=javascript> 
<!-- 
window.onerror=function(){return true;} 
// --> 
</SCRIPT>

使用方法:把以上代码加到你出错网页的head区域就可以了。

第二种:针对的是有时候因为一些脚本错误的,导致页面无法继续浏览,这个问题是非常严重的,用户的大量流失,或根本无法查看你的网站内日

这个不是简单的脚本错误的问题了,主要是代码作者没有考虑完善,一定要好好的修改下, 不过如果你真的不会,那就用这样的代码吧

try...catch 可以测试代码中的错误。try 部分包含需要运行的代码,而 catch 部分包含错误发生时运行的代码。

语法:

复制代码 代码如下:

try 
{ 
//在此运行代码 
} 
catch(err) 
{ 
//在此处理错误 
}

注意:try...catch 使用小写字母。大写字母会出错。

实例 1

下面的例子原本用在用户点击按钮时显示 "Welcome guest!" 这个消息。不过 message() 函数中的 alert() 被误写为 adddlert()。这时错误发生了:

<html> 
<head> 
<script type="text/javascript"> 
function message() 
{ 
adddlert("Welcome guest!") 
} 
</script> 
</head> 
<body> 
<input type="button" value="View message" onclick="message()" /> 
</body> 
</html>

我们可以添加 try...catch 语句,这样当错误发生时可以采取更适当的措施。

下面的例子用 try...catch 语句重新修改了脚本。由于误写了 alert(),所以错误发生了。不过这一次,catch 部分捕获到了错误,并用一段准备好的代码来处理这个错误。这段代码会显示一个自定义的出错信息来告知用户所发生的事情。

<html> 
<head> 
<script type="text/javascript"> 
var txt="" 
function message() 
{ 
try 
{ 
adddlert("Welcome guest!") 
} 
catch(err) 
{ 
txt="此页面存在一个错误。\n\n" 
txt+="错误描述: " + err.description + "\n\n" 
txt+="点击OK继续。\n\n" 
alert(txt) 
} 
} 
</script> 
</head> 
<body> 
<input type="button" value="View message" onclick="message()" /> 
</body> 
</html>

实例 2

下一个例子会显示一个确认框,让用户来选择在发生错误时点击确定按钮来继续浏览网页,还是点击取消按钮来回到首页。如果 confirm 方法的返回值为 false,代码会把用户重定向到其他的页面。如果 confirm 方法的返回值为 true,那么代码什么也不会做。

<html> 
<head> 
<script type="text/javascript"> 
var txt="" 
function message() 
{ 
try 
{ 
adddlert("Welcome guest!") 
} 
catch(err) 
{ 
txt="There was an error on this page.\n\n" 
txt+="Click OK to continue viewing this page,\n" 
txt+="or Cancel to return to the home page.\n\n" 
if(!confirm(txt)) 
{ 
document.location.href="http://www.w3school.com.cn/" 
} 
} 
} 
</script> 
</head> 
<body> 
<input type="button" value="View message" onclick="message()" /> 
</body> 
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
彪哥1.1(智能表格)提供下载
Sep 07 Javascript
添加到收藏夹代码(兼容几乎所有的浏览器)
Jan 09 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
Jul 26 Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
Apr 16 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
Feb 06 Javascript
js将long日期格式转换为标准日期格式实现思路
Apr 07 Javascript
深入理解JavaScript中的对象复制(Object Clone)
May 18 Javascript
AngularJS动态生成div的ID源码解析
Aug 29 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
Vue全家桶实践项目总结(推荐)
Nov 04 Javascript
Angular 实现输入框中显示文章标签的实例代码
Nov 07 Javascript
简单说说如何使用vue-router插件的方法
Apr 08 Javascript
关于AngularJs数据的本地存储详解
Jan 20 #Javascript
html5 canvas 详细使用教程
Jan 20 #Javascript
canvas绘制万花筒效果(代码分享)
Jan 20 #Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 #Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
Jan 20 #Javascript
轻松理解Javascript变量的相关问题
Jan 20 #Javascript
js+css3实现旋转效果
Jan 20 #Javascript
You might like
劣质的PHP代码简化
2010/02/08 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
Highcharts入门之基本属性
2016/08/02 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
javascript  删除select中的所有option的实例
2017/09/17 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
Python自动连接ssh的方法
2015/03/07 Python
利用ctypes提高Python的执行速度
2016/09/09 Python
Python查找两个有序列表中位数的方法【基于归并算法】
2018/04/20 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python实现从wind导入数据
2019/12/03 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
Opencv求取连通区域重心实例
2020/06/04 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
计算机专业毕业生自荐信
2013/12/31 职场文书
幼儿园大班教学反思
2014/02/10 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
介绍长城的导游词
2015/01/30 职场文书
建党伟业的观后感
2015/06/01 职场文书
高中家长意见怎么写
2015/06/03 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis
Python制作春联的示例代码
2022/01/22 Python
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers