把自己的控制台变得干干净净!

本文讲述了如何处理JavaScript中的控制台警告,包括非被动事件监听器警告、同步XMLHttpRequest警告、SourceMap加载失败警告和加载事件处理延迟警告。通过升级jQuery、修改事件监听器设置、调整HTML中脚本的加载方式以及优化Sass或Less生成的CSS文件,可以显著改善控制台的整洁度并提高页面响应速度。
摘要由CSDN通过智能技术生成

程序的主页控制台总有一些奇奇怪怪的警告和console,虽然不会影响程序运行,但是总看着不舒服,就下定决心把他们都干掉。

  1. 首先要干掉的是这个,因为这个警告一出来就是好几千条。
    [Violation] Added non-passive event listener to a scroll-blocking ‘touchstart’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
    在这里插入图片描述
    原因:谷歌浏览器51版本以后,对touchwheel事件绑定时新增加一个passive的属性,又因为我的jquery版本过低(v.1.10.2),没有兼容到新的规则所以事件绑定时就会报错。(什么你说你版本够高,不会报错?)
    解决办法:在jquery源码中,给元素添加监听事件时,进行区分:如果是谷歌浏览器(其他浏览器就看情况加了)且版本在51之上,就多加一个属性 passive: false
if ( elem.addEventListener ) {
// 去掉 谷歌passive警告
	var needPassive = false;
	switch (type) {
		case "touchstart":
			needPassive = true;
			break;
		case "touchmove":
			needPassive = true;
			break;
		case "mousewheel":
			needPassive = true;
			break;
						
		default:
			needPassive = false;
			break;
}
	if (ua.indexOf("Chrome") !== -1 && parseFloat(ua.split("Chrome/")[1].slice(0,2)) > 51 && needPassive) {
		elem.addEventListener( type, eventHandle, { passive: false } );
	}else {
		elem.addEventListener( type, eventHandle, false );
	}
} else if ( elem.attachEvent ) {
	elem.attachEvent( "on" + type, eventHandle );
}
以此类推别的插件在绑定事件时也可能会出现这种情况,挨个加 {passive: false} 属性就行了。
  1. [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check https://xhr.spec.whatwg.org/.
    在这里插入图片描述
    根本原因: 在发出ajax时,传入的s.async值为 false,表示ajax为同步。但是同步的ajax方法已经被废弃了,所以警告。
    在这里插入图片描述
    直接原因: 页面使用 $.get 方法加载html文件时,html文件内部写有script标签,这些js文件引入时的请求 s.async默认为 false
    解决办法:html中的script标签去掉,换成js方式的引入。
    在

  2. 没有找到这些文件
    DevTools failed to load SourceMap: Could not load content for http://localhost:8081/js/jQuery/dialoag/simplepop.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
    在这里插入图片描述
    原因sass或者less生成css文件时会自动写入这样一行文字
    在这里插入图片描述
    解决办法:把这行字删掉。。

  3. [Violation] ‘load’ handler took 500ms
    在这里插入图片描述
    大概原因就是帮你监听的代码执行时间,而且是偶尔出现,点下边这个就不见了(嘿嘿)
    在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值