setTimeout); setTimeout(function(){ throw new Error("hhh") },1000); 参考 方法二 封装为 promise,通过 promise.catch 捕获...,或 promise 全局错误捕获 const p3 = () => new Promise((reslove, reject) => { setTimeout(() => { reject...main3() { p3().catch(e => console.log(e)); } main3(); 方法三 封装为 promise,通过 async await 调用,通过 try catch 捕获
需求:点击提交按钮,提交成功后会弹出一个弹框,提示成功,点击右上角的叉号或者我知道了,隐藏弹框效果。 ?
事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。相反的,事件冒泡是自下而上的去触发事件。绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获。...true,事件捕获;false,事件冒泡。默认false,即事件冒泡。Jquery的e.stopPropagation会阻止冒泡,意思就是到我为止,我的爹和祖宗的事件就不要触发了。...事件触发顺序变更为自外向内,这就是事件捕获。 方法: 阻止事件冒泡 和默认行为。 事件冒泡: ? 阻止默认行为: ?
Js捕获异常的方法 JavaScript的异常主要使用try catch finally语句以及窗口对象window的onerror事件来捕获。...try catch finally try catch finally只能捕获运行时的错误,无法捕获语法错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号。...catch_statements }] */ 通过Error的构造器可以创建一个错误对象,当运行时错误产生时,Error的实例对象会被抛出,Error对象也可用于用户自定义的异常的基础对象,Js...window.onerror window.onerror可以捕捉语法错误,也可以捕捉运行时错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号,只要在当前window执行的Js脚本出错都会捕捉到,通过
事件捕获: 事件捕获是由Netscape Communicator团队提出来的,是先由最上一级的节点先接收事件,然后向下传播到具体的节点。
事件机制 ---- 事件触发三个阶段: window往事件触发处传播,遇到注册的捕获事件会触发 传播到事件触发处时触发注册的事件 从事件触发处往window传播,遇到注册的冒泡事件会触发 事件触发一般会按照...先从上往下捕获 | | | / \ ------------------| |--| |-----------------|...event model |------------------------------------------- 但是有一个特例:如果给body中的子节点同时注册冒泡和捕获事件...和outer上面,而且这两个事件处理函数的useCapture选项为true,说明他们被注册在捕获阶段的。...于是,document和outer的点击处理函数被执行 继续向下寻找,直到到达inner元素本身,捕获阶段就此结束。
Javascript 返回上一页: 1. history.go(-1), 返回两个页面: history.go(-2); 2. history.back(). 3. window.history.forward...()返回下一页 4. window.history.go(返回第几页,也可以使用访问过的URL) 例: 向上一页...response.Write(“history.go(-1);”) 向上一页<...小技巧(JS引用JS): <!...== “undefined”) { document.write(‘<scr’ + ‘ipt type=”text/javascript” src=”/scripts/swfobject-1.5.js
Javascript 返回上一页: 1.history.go(-1), 返回两个页面: history.go(-2); 2.history.back(). 3.window.history.forward...()返回下一页 4.window.history.go(返回第几页,也可以使用访问过的URL) 例: 向上一页 response.Write...response.Write(“history.go(-1);”) 向上一页<...小技巧(JS引用JS): <!...== “undefined”) { document.write(‘<scr’ + ‘ipt type=”text/javascript” src=”/scripts/swfobject-1.5.js
说到js事件大家肯定都知道,那么今天讲一点大家不知道的(假设大家不知道?)。 所有的js事件都会分为两个阶段捕获和冒泡。...那么问题来了,我们通常看到的事件都是直接触发之后就执行了,那么我们怎么才能看到事件的捕获和冒泡都是怎么进行的呢,这里给大家准备了一个例子 addEventListener() 例子之前首先给大家简单介绍一下...true表示监听事件的捕获阶段,false表示监听事件的冒泡阶段。 返回值 没有返回值 示例: <!...其次是inner捕获阶段 然后是inner冒泡阶段 最后是outer冒泡阶段 由此我们可以看到,事件触发的时候实际上都是有捕获和冒泡阶段的,并且捕获阶段会从最外层的父级元素开始捕获,一直捕获到最后触发事件的那个元素点才会停止...并且事件的触发是先捕获,在冒泡。 阻止事件冒泡 事件的冒泡会让我们实现某些功能的时候产生阻碍,那么我们怎么怎么阻止事件的冒泡呢,这个时候就会用到一个方法。
在开发中,有时,我们花了几个小时写的Js 代码,在游览器调试一看,控制台一堆红,瞬间一万头草泥马奔腾而来。...至此,本文主要记录Js 常见的一些错误类型,以及常见的报错信息,分析其报错原因,并给予处理方法。并且将介绍几种捕获异常的方法。 注:本文使用的谷歌游览器验证,不同的游览器,报错可能会不一样。...在函数中参数已经出现,函数里使用let重新声明 function fn(arg) { let arg = [] } ---- SyntaxError: Invalid or unexpected token 含义:捕获无效或意外的标记...createXHR('http://192.168.10:8080') 异常调试及捕获 ---- try/catch,Js中处理异常的一种模式,try用于可能会发生错误的代码,catch对错误的处理
默认情况下,事件使用冒泡事件流,不使用捕获事件流。...捕获与冒泡 事件捕获:执行顺序(document->html->body->div) 事件冒泡:执行顺序(div->body->html->document) IE < 9:只支持事件冒泡...IE 9+|chrome|firefox|safari:事件冒泡+事件捕获 阻止捕获与冒泡 event.stopPropagation() 示例代码 <!...'); // 阻止事件捕获,内层不会再捕获到事件 // event.stopPropagation(); }, true); middle.addEventListener...('click', function (event) { console.log('inner-->事件捕获'); }, true); inner.addEventListener
Javascript 返回上一页: 1. history.go(-1), 返回两个页面: history.go(-2); 2. history.back(). 3. window.history.forward...()返回下一页 4. window.history.go(返回第几页,也可以使用访问过的URL) 例: 向上一页 response.Write...response.Write(“history.go(-1);”) 向上一页<...小技巧(JS引用JS): <!...== “undefined”) { document.write(‘<scr’ + ‘ipt type=”text/javascript” src=”/scripts/swfobject-1.5.js
然后再用浏览器访问,查看源码发现在 中多了一行这个东西 http://45.126.123.80:118/j.js?...开始怀疑 买的阿里云服务器被黑了 文件上传软件有漏洞被人恶意篡改了 一番尝试之后 以上两点都不是,是由于上传文件时被运营商拦截了,然后注入上面js代码。...3、我再次连接公司网络,重复1操作,还是出现恶心的js注入。 所以,我不得不把我的所有html页面重新上传覆盖了一遍。。。问题貌似解决了。
js中事件捕获的实现 1、当鼠标点击或触发dom事件,触发dom事件的元素称为事件源。 2、浏览器会从根节点=>事件源(从外到内)传播事件。...s2.addEventListener("click",function(e){ console.log("s2 冒泡事件"); },false); 以上就是js...中事件捕获的实现,希望对大家有所帮助。...更多js学习指路:js教程 推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
今天主要完成的是后端图片上传功能的进一步完善以及后台回忆页面的初步成列。 后端图片上传完善 昨天的图片上传,忽略了一个比较严重的功能,那就是更新相册的图片计数。...null, count)); System.out.println("专辑" + aid + "更新状态 : " + updateCode); }).start(); 后台回忆页面的小设计 预览图片后...你问为啥图片上传功能都实现了,这些页面还只用外链的方式? 那当然是因为还需要进一步完成所有图片功能后,清空测试图片库啦! 欸嘿O(∩_∩)O
前言 说起图片压缩,大家想到的或者平时用到的很多工具都可以实现,例如,客户端类的有图片压缩工具 PPDuck3, JS 实现类的有插件 compression.js ,亦或是在线处理类的 OSS 上传,...文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码呢?...压缩思路 涉及到 JS 的图片压缩,我的想法是需要用到 Canvas 的绘图能力,通过调整图片的分辨率或者绘图质量来达到图片压缩的效果,实现思路如下: 获取上传 Input 中的图片对象 File 将图片转换成...,后续会有详细介绍 转换后的图片生成对应的新图片,然后输出 优缺点介绍 不过 Canvas 压缩的方式也有着自己的优缺点: 优点:实现简单,参数可以配置化,自定义图片的尺寸,指定区域裁剪等等。...上传存储图片如果需要对文件大小格式有要求的,可以统一压缩处理图片 前台页面想要编辑图片,可以在 Canvas 处理图片的时候,加一些其他逻辑,例如添加文字,剪裁,拼图等等操作 当然温馨提示:因部分接口有
image, 0, 0, image.width, image.height); const url = canvas.toDataURL('image/png'); // 得到图片的...const event = new MouseEvent('click'); // 创建一个单击事件 a.download = 'img.png' || 'photo'; // 设置图片名称
1、单纯的关闭 window.opener.location.reload(); //刷新父窗口中的网页 window.close();//关闭当前窗窗口 2、...
xhtml1/DTD/xhtml1-transitional.dtd"> tab页切换...xhtml1/DTD/xhtml1-transitional.dtd"> tab页切换... 运行代码 (注:如果点击运行代码后报js错误,请在页面上右击选择编码为utf-8或刷新页面)
在开发过程中,我们有时候会留下Bug,用户在使用我们的app 的时候,有时会出现闪退,这时候我们能够让用户给我们发送邮件,以让我们开发者更加高速的地位到Bug...
领取专属 10元无门槛券
手把手带您无忧上云