一次由webview报错引起的追根溯源
最近客户端那边需要搞了个h5嵌入app,想想是移动端的webview,前端这边也比较忙。就没想太多,直接用了async/await处理api数据,于是就不怪测试就来搞事情了...
一、error:
1、
先测试了一款魅族的手机,发现运行页面后报错如上,即提示“let、const等块级作用域还不支持在严格模式以外使用”,另外更全面的了解下该款webview特性,用阮一峰前辈的检测工具检测了下(如下图)

还不错,支持了90%的特性,和最新款的谷歌特性保持不相上下。于是乎就又草率的加了个严格模式申明('use strict')就完事了 !!!
2、“Uncaught SyntaxError: Unexpected identifier”
第二次测试er拿来一款几百年前的小米手机,具体啥型号的都懒得看了,总是很老很老,报错如上,于是同样用上面的检测插件检测了下该webview对es6的支持程度,结果不出意外,支持度是7%,连检测插件的ui都不兼容。如下图所示。

二、methods of kill error:
1、 通过es6-polyfill弥补浏览器缺失的es6特性
// 损耗性能,暂不考虑
2、回归es2015
3、compile by babel
在发布前使用label等转译工具将code转换成当前浏览器支持的语法。
ps:慎重,切勿因为忙碌给自己留坑,因为留下的坑一定是要重新填的(^_^)v
一次由webview报错引起的追根溯源的更多相关文章
- 解决Android8.0系统应用打开webView报错
由于webView存在安全漏洞,谷歌从5.1开始全面禁止系统应用使用webview,使用会导致应用崩溃错误提示:Caused by: java.lang.UnsupportedOperationExc ...
- flutter -webview 报错 err_cleartext_not_permitted
文件 android\app\src\main\AndroidManifest.xml <manifest xmlns:android="http://schemas.android. ...
- appium---切换webview时报错
在上一篇中简单介绍了如何查看webview和切换到webview的方法,可能第一次切换webview的时候会报错“Error: session not created exception: Chrom ...
- 微信小程序:报错fail webview count limit exceed
报错: 分析原因: 先从列表页面跳转到详细页面时,使用了Navigator标签,open-type默认使用的navigate,跳转时会保留当前页, <navigator class=" ...
- 小程序运行报错:errMsg: "request:fail url not in domain list"
错误原因: 报错提示说请求的url不在域名列表里,应该是还没有配置服务器域名 解决方法: 可点击开发者工具右上角 详情-项目设置-不校验合法域名.web-view(业务域名).TLS 版本以及 HTT ...
- 使用wkwebview时,push后,再pop返回,报错
使用wkwebview时,push后,再pop返回,报错 Cannot form weak reference to instance (xxxx) of class xxxx. It is poss ...
- Appium运行报错:No Chromedriver found that can automate Chrome '39.0.0'
运行appium切换webview时候遇到报错:’No Chromedriver found that can automate Chrome 'xx.xx.xx' 此报错是因为Appium在运行过程 ...
- Windows 7上执行Cake 报错原因是Powershell 版本问题
在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...
- 关于VS2015 ASP.NET MVC添加控制器的时候报错
调试环境:VS2015 数据库Mysql WIN10 在调试过程中出现类似下两图的同学们,注意啦. 其实也是在学习的过程中遇到这个问题的,找了很多资料都没有正面的解决添加控制器的时候报错的问题,还是 ...
随机推荐
- FZU 2105 Digits Count
Problem 2105 Digits Count Accept: 444 Submit: 2139 Time Limit: 10000 mSec Memory Limit : 2621 ...
- ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案
遇到问题: 在做计算机视觉课程作业,运动目标检测与跟踪时,在ubuntu系统下用kazam录制了一小段运动目标检测的视频,然后在课上展示时播放不出来,想着Mp4格式的不应该播放不出来啊.网上寻求了一番 ...
- request对象的常用属性和方法
request的属性 /* 1.HttpRequest.GET 一个类似于字典的对象,包含 HTTP GET 的所有参数.详情请参考 QueryDict 对象. 2.HttpRequest.POST ...
- Windows上的巧克力味Chocolatey详解
Chocolatey是什么?很简单,Chocolatey就是Windows系统的yum或apt-get. 一.Chocolatey介绍 Chocolatey是一款专为Windows系统开发的.基于Nu ...
- [GDAL]在三维场景中显示DEM
粗糙实现了个版本 存储波段的基本信息和数据: namespace RGeos.Terrain { //存储波段的基本信息和数据 public class RasterBandData { public ...
- [3D]1.绘制三角形
作为一个.Net程序员学习3D开发好尴尬啊,因为不论是OpenGL还是Direct3D都是用C/C++开发的比较多.虽然有计划使用C++进行开发,但是平时还是C#使用的多.很少用C++做东西,如果仅仅 ...
- [py]django重置密码
django的admin用户被我多动症一样的测试,给密码弄丢了,需要重置. 从数据库重置的可能性为0,因为django对于密码有保护策略.考虑从运行程序的地方进行重置: 1.在程序的文件夹下,执行这样 ...
- java一些基本的方法
一,Java中,next();和nextLine();有什么区别 举个例子,你就会明白了.如,你输入的一行:abc cde efg注意,其中abc和cde之间有空格,cde和efg之间也有空格这样,n ...
- VC中加载LIB库文件的三种方法
VC中加载LIB库文件的三种方法 在VC中加载LIB文件的三种方法如下: 方法1:LIB文件直接加入到工程文件列表中 在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中&quo ...
- C++中的常量定义
本篇笔记总结自一次代码检视. 一般来说,使用C语言编程时我们都习惯在代码当中使用C当中的宏定义来定义一个数值常量: #define MY_CONST 7 在C++开发项目时,也会经常存在沿袭C当中常量 ...