二十二、错误处理
1、禁止JS错误(Suppress JS Errors)
Q:我是否可以禁止JavaScript错误信息?
A:可以。要禁止页面上所有的JavaScript错误信息,你要把下面一段代码放在页面的HEAD部分:
或者如何你有页面引入的.js文件,可以在其中使用相似代码(不使用SCRIPT标签)。关于可运行的代码实例,参考我们的错误处理演示程序。
2、添加你自己的错误处理程序(Adding Your Own Error Handler)
Q:我可以设置自己的错误处理程序吗?
A:当然可以。使用下面的JavaScript代码定义你自己的错误处理程序:
你的错误处理函数可以使用下列可选参数:
- 错误的文本描述
- 错误发生的页面地址
- 错误发生的行号
如果你希望这个错误处理函数在完成自定义的错误处理后,再调用浏览器的默认错误处理,就必须返回false。如果你不想调用浏览器的默认错误处理机制,函数就必须返回true。代码示例参考错误处理演示程序。
3、错误处理演示程序(Error Handling Demo)
Q:我可以动态改变JavaScript的错误处理程序吗?
A:可以。要改变JavaScript错误处理程序,只需要设置window.onerror的值为函数的名称,它就会作为你的新的错误处理程序。
这里是一个演示程序,你可以测试三个不同的错误处理程序:
- 浏览器默认的错误处理方法
- 显示自定义警告信息框的错误处理程序
- 禁止所有错误的信息的“安静”错误处理程序
<!--
function defaultHandler() {return false}
function silentHandler() {return true}
function customHandler(desc,page,line,chr) {
alert(
'JavaScript error occurred! \n'
+'The error was handled by '
+'a customized error handler.\n'
+'\nError description: \t'+desc
+'\nPage address: \t'+page
+'\nLine number: \t'+line
)
return true
}
if ((''+self.location.search).indexOf('silentHandler')!=-1) window.onerror=silentHandler;
else if ((''+self.location.search).indexOf('defaultHandler')!=-1) window.onerror=defaultHandler;
else window.onerror=customHandler;
// -->
Custom Error Handler
Silent Error Handler
Default Error Handler<!--
if ((''+self.location.search).indexOf('silentHandler')!=-1) document.f1.s1.selectedIndex=1;
else if ((''+self.location.search).indexOf('defaultHandler')!=-1) document.f1.s1.selectedIndex=2;
// -->
- 使用选择框设置或改变错误处理程序。
- 点击“Fire an Error”测试活动的错误处理程序。
下面是演示程序中的错误处理程序的源代码:
写在最后:
该篇是JavaScript FAQ系列的最后一篇。通过这一系列的翻译让我以前很多不明确的问题得到了解决,也希望能给看到这一系列翻译的各位带来一些收获。由于这一系列文章的讨论大多是基于旧版的浏览器,可能有些问题有了新的解决方法,希望大家可以积极讨论。
由于本人水平有限,在翻译中虽然对很多句子斟酌再三,但是难免有不能表达原文之意的地方,希望大家指正。而如果各位E文比较好,可以直接点击每个主题上的链接,直接查看原文。
分享到:
相关推荐
JavaScript FAQ函数是一种常见的网页交互设计,它用于实现FAQ(常见问题解答)页面中问题与答案的展开和隐藏功能。在用户点击某个问题时,对应的答案会显示出来,而其他未被点击的问题答案则保持隐藏状态,以此提高...
这个压缩包“JavaScript_初学者文件,最终项目和FAQ为我的终极React课程.zip”显然是为了帮助初学者掌握JavaScript以及进阶到React框架的知识而设计的。React是Facebook推出的一个用于构建用户界面的JavaScript库,...
【在线FAQ制作与网站FAQ系统详解】 FAQ,全称Frequently Asked Questions,即常见问题解答,是许多网站提供的一种服务,旨在帮助用户快速找到解决问题的答案。"FAQ.zip_FAQ_在线FAQ制作_网站faq系统"这个压缩包文件...
前台获取内存数据通常通过JavaScript或Vue等前端框架实现,需要了解对应框架的API。可能涉及到的数据源包括本地存储、组件状态或全局变量。 **FAQ10:新配置的FC未被调用** 新配置的功能组件(FC)未调用可能因为配置...
在JavaScript的世界里,jQuery是一个非常流行和强大的库,它简化了DOM操作、事件处理、动画效果和Ajax交互等任务。本篇文章将详细讨论在使用jQuery时,如何实现常见问题FAQ的展开收缩列表效果,这对于创建交互式的...
这个项目可能是一个基于JQ(可能是jQuery或者其他JavaScript库)的问题与解答(FAQ)系统,或者是一个用于处理FAQ数据的工具。尽管文件格式没有明确指定,但我们可以根据文件名推测这可能是一个代码仓库的主分支。 ...
6. **结构化数据**:FAQ页面通常包含多条问题和答案,可以考虑将它们存储在JSON格式的数据中,然后在JavaScript中解析并动态渲染到页面上。这样做可以方便地管理和更新内容。 7. **响应式设计**:为了让FAQ列表在...
本教程将详细介绍如何使用JavaScript实现简单的FAQ折叠效果。 首先,我们需要在HTML中构建FAQ的基础结构。每个问题-答案对应该包裹在一个容器内,例如`<div>`,并为问题和答案设置不同的CSS类。例如: ```html ...
在IT行业中,jQuery是一种广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互。本文将详细探讨"可展开和收缩的jQuery FAQ问答列表特效"这一主题,以及它在实际应用中的相关知识点。 首先...
【CSS3列表FAQ问答特效】是一种利用CSS3技术来实现的网页交互效果,它使得FAQ(常见问题解答)部分更具视觉吸引力和用户友好性。在网页设计中,FAQ区域通常包含一系列问题和对应的答案,而CSS3的引入可以增强这种...
【标题】"FAQ管理全源代码 .rar_FAQ" 提供的是一个完整的FAQ(常见问题解答)管理系统的所有源代码。这个系统设计用于帮助用户高效地处理和管理与产品或服务相关的常见问题及其解答,提高客户支持和服务的质量。通过...
【jQuery FAQ可收缩手风琴】是一种常见的网页交互设计元素,它通过使用jQuery库实现了一个功能丰富的FAQ(常见问题解答)部分。这个设计允许用户点击问题标题,展开对应的答案,以此来节省页面空间并提高用户体验。...
在FAQ列表中,JavaScript可能被用来处理用户交互,比如当用户点击问题时,JavaScript可以控制相应的答案区域的显示和隐藏,实现动态展开和收起。同时,它还可以实现其他功能,如验证用户输入,或者在无刷新页面的...
"简单实用的jQuery FAQ手风琴特效"就是一种增强网站用户互动性的技术,它常用于常见问题解答(FAQ)部分,使得大量的信息可以以紧凑且易于浏览的方式呈现。这篇文章将深入探讨jQuery手风琴特效的原理、实现方法以及...
在网页开发中,jQuery作为一个强大的JavaScript库,极大地简化了DOM操作、事件处理和动画制作。对于开发者而言,掌握jQuery的常见问题和解决方法,以及如何创建吸引人的FAQ(常见问题解答)特效,是提升网站用户体验...
**jQuery和CSS3 FAQ问答页面模板详解** 在网页设计中,FAQ(常见问题解答)页面是必不可少的一部分,它能够提供用户快速找到问题解决方案的途径。本文将深入探讨一个基于jQuery和CSS3的FAQ问答页面模板,它具有人性...
二、实现原理 FAQ问答的展开折叠主要依赖于DOM(Document Object Model)操作和CSS样式控制。jQuery提供了一系列方法,如`.show()`, `.hide()`, `.toggle()`等,用于控制元素的显示与隐藏。通过这些方法,我们可以...
在这个“FAQ可收缩jquery手风琴导航.zip”压缩包中,包含了一个基于jQuery实现的FAQ(常见问题解答)手风琴导航。手风琴导航是一种常见的网页交互设计,它允许用户展开或收缩各个部分,以节省页面空间并提供更清晰的...
在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它是Java平台的一部分,提供了将HTML、CSS和JavaScript与服务器端Java代码相结合的能力。本FAQ(Frequently Asked Questions,常见问题解答)...