来自 服务器&运维 2019-12-04 16:27 的文章
当前位置: 澳门威尼斯人平台 > 服务器&运维 > 正文

window.onerror的用法与实例分析_javascript技巧_脚本之家

本文实例讲述了js的window.showModalDialog及window.open用法。分享给大家供大家参考。具体分析如下:

onerror语法使用

本文较为详细的分析了JavaScript中window.open用法。分享给大家供大家参考。具体如下:

一、window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+

onerror 默认有三个入参:

复制代码 代码如下:

二、基本语法:

•msg: 错误信息•url:错误所在文件•line: 错误所在代码行,整型window.onerror = function{ // some code }; 对于

参数解释:

window.open(pageURL,name,parameters)

形式的,可以通过arguments[0]、arguments[1]、arguments[2]依次获取参数。

js脚本开始; window.open 弹出新窗口的命令;'page.html' 弹出窗口的文件名; 'newwindow' 弹出窗口的名字,非必须,可用空''代替; height=100 窗口高度; width=400 窗口宽度; top=0 窗口距离屏幕上方的象素值; left=0 窗口距离屏幕左侧的象素值; toolbar=no 是否显示工具栏,yes为显示; menubar,scrollbars 表示菜单栏和滚动栏。 resizable=no 是否允许改变窗口大小,yes为允许; location=no 是否显示地址栏,yes为允许; status=no 是否显示状态栏内的信息,yes为允许;

pageURL 为子窗口路径 name 为子窗口句柄 parameters 为窗口参数

js中我们最常用的就是js容错

1、用函数控制弹出窗口下面是一个完整的代码。

三、示例:

window.onerror=function(){return true;}
<!-- function openwin(){ window.open("page.html", "newwindow", "height=100,width=400, toolbar=no , menubar=no, scrollbars=no,resizable=no, location=no, status=no") //写成一行}//-->...任意的页面内容.../body>
 <!-- window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no') //写成一行 --> 

基本特性可以通过设置returnValue=true,或直接return true来阻止浏览器显示错误信息。但不会阻止script debuggers弹出的调试框。只有运行错误才会触发onerror,语法错误不会触发。

这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。怎么调用呢? 方法一: 浏览器读页面时弹出窗口; 方法二: 浏览器离开页面时弹出窗口; 方法三:用一个连接调用:打开一个窗口 注意:使用的“#”是虚连接。方法四:用一个按钮调用:

脚本运行后,page.html将在新窗体newwindow中打开,宽为100,高为400,距屏顶0象素,屏左0象素,无工具条,无菜单条,无滚动条,不可调整大小,无地址栏,无状态栏。请对照。

以下三种方式可以引发onerror:

2、定时关闭弹出的窗口 (有些网站注册成功后显示n秒转到注册前的那页信息,或自己跳转)下面我们再对弹出的窗口进行一些控制,效果就更好了。如果我们再将一小段代码 加入弹出的页面(注意是加入到page.html的HTML中,可不是主页面中,否则 ...),让它10秒后自动关闭是不是更酷了? 首先,将如下代码加入page.html文件的区:

上例中涉及的为常用的几个参数,除此以外还有很多其他参数,可参考如下所述的各项参数说明。

•运行时错误,例如无效的对象引用或安全限制•下载错误,如图片•在IE9中,获取多媒体数据失败也会引发

function closeit(){setTimeout //毫秒}

四、各项参数

上面示例的方法很值得借鉴。 在捕获js错误时,我们通常使用try{}catch{}的方式,然后通过e.errorMessage等方式获取错误信息然后报告错误。但对于onerror事件可能很少问津,我们是否思考过如何报告错误所在的行号?如果想过这个是否也被这个问题所困扰过,是否认为在js里不可能捕获错误的行号呢?其实本人就遇到上述的几个问题,今日读某人写的一段js代码顿然发现了onerror事件,要说onerror这个时间也是n久以前就知道了,但对于其所带有的三个参数和其特殊性质却一直没有去了解过。经过自己的研究测试,对onerror事件有了一些新的认识和了解。在页面没有错误时,window.onerror事件是不存在的,也就是null(废话!没出错如果onerror出现还正常吗?)我们一般通过函数名传递的方式将要执行的操作函数传递给onerror事件,如window.onerror=reportError;window.onerror=function},但我们可能不知道该事件触发时还带有三个默认的参数,他们分别是错误信息,错误页面的url和错误行号。要知道这个可是事件,就如onclick和onmouseover等事件一样,但它是有参数。我们可以这样测试。

然后,再用 这一句话代替page.html中原有的这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码 ,10秒钟后就自行关闭该窗口。

本文由澳门威尼斯人平台发布于服务器&运维,转载请注明出处:window.onerror的用法与实例分析_javascript技巧_脚本之家

关键词: