【案例形容】
最近在将本人开发的WEB H5利用打包成快利用后,在应用Google账号注册、登录时,却遇到了如下图的403报错。
【问题剖析】
从上图谬误页面能够看到,Google给出了起因:Error:disallowed_useragent。也就是说Google对加载H5利用的浏览器UA进行了限度,而且它倡议是chrome浏览器。显然问题答案与UA有关系。
【解决方案】
- 定义变量model, model示意用户的手机型号,在data对象内增加model变量,代码如下图所示:
- 给model赋值:在页面的生命周期onInit()办法中获取手机型号,代码如下:
1
2
3
4
onInit:
function
() {
const device = require(
`"@system.device"`)
const res = device.getInfoSync();
this
`.model=res.model;`
- 设置web组件属性 useragent 值为 Mozilla/5.0 (Linux; Android 9; {{model}}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36)), 如下图所示:
留神: useragent的值中应用了变量model,应用变量model的作用是获取实在的手机型号,防止有些H5网页在验证useragent时获取到的手机型号不对,从而给用户带来了困扰。
4. 设置 manifest.json 文件中的minPlatformVersion 值为1068。
5. 请确保应用的华为快利用加载器版本为2.2.0.304及以上版本。查看加载器版本的形式如左边图所示:
留神:1,2,3,4步骤实现后,如果登录还有问题,请在web上
增加如下代码:
multiwindow="true"
- H5利用打包成快利用是海内十分重要的解决方案,在没有GMS服务的手机上,仍然能够应用Google的服务,比方本案例中的Google账号。
- 本案例的解决方案也实用于H5快利用其余账号登录的一些问题。
原文链接:https://developer.huawei.com/...
原作者:Mayism