起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1803|回复: 7

[结贴] 版主请进 : 安卓 更新框点击没有反应。

[复制链接]

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
发表于 2018-2-28 17:07:41 | 显示全部楼层 |阅读模式
本帖最后由 zhoubincibn 于 2018-2-28 17:24 编辑

wex5 3.6版本用的自带更新插件;
改  type:“OK”     然后合并,修改版本号
再ios中,弹出了windowDialog更新提示框,点击确定,跳转到了指定下载页面。
再安卓中,弹出了windowDialog更新提示框,点击确定,提示框关闭,但是没有任何反应,不能跳转到下载页面。
实在搞不定,版主求帮忙。

可以肯定 appMetadata_in_server 中所填写的下载地址,可以正常访问,手机uc中可以下载。
尝试改回  type:"YesNoCancel"  都能弹出更新提示, 也是ios可以跳转url,安卓没反应。安卓几部手机都不行。

此外,应用程序中,跳转url,后缀是.apk的不行吗?服务器端配置没问题。
譬如:window.location.href="http://www.shtv.net.cn/app/app.apk";   
改成  html等后缀没问题,可以跳转,但是.apk没反应,如何解决?

发表于 2018-2-28 17:23:56 | 显示全部楼层
Android 版本更新 就是用手机系统自带浏览器打开地址

你自己测试下这个方法
window.open(url, '_system');
能正常执行吗??
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2018-2-28 17:30:07 | 显示全部楼层
本帖最后由 zhoubincibn 于 2018-2-28 17:33 编辑
liangyongfei 发表于 2018-2-28 17:23
Android 版本更新 就是用手机系统自带浏览器打开地址

你自己测试下这个方法

window.open('http://www.shtv.net.cn/app/app.apk');

在手机uc浏览器可以执行,但是在我的app中,window.open 没反应。难道是wex5自动拦截?

回复 支持 反对

使用道具 举报

发表于 2018-2-28 17:32:00 | 显示全部楼层
zhoubincibn 发表于 2018-2-28 17:30
window.open('http://www.shtv.net.cn/app/app.apk');

在手机uc浏览器可以执行,但是在我的app中,windo ...

window.open('http://www.shtv.net.cn/app/app.apk','_system');
这样呢?? 需要第二个参数 _system
如果不行 ,那就是你系统的原因吧

请问打包选择webView 是哪个?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2018-2-28 17:35:53 | 显示全部楼层
本帖最后由 zhoubincibn 于 2018-2-28 17:36 编辑
liangyongfei 发表于 2018-2-28 17:32
window.open('http://www.shtv.net.cn/app/app.apk','_system');
这样呢?? 需要第二个参数 _system
如 ...

打包选择的是模式2,启动后下载ui资源。

这样写可以了执行了。我再试试更新提示框。
window.open('http://www.shtv.net.cn/app/app.apk','_system');

回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2018-2-28 17:39:43 | 显示全部楼层
本帖最后由 zhoubincibn 于 2018-2-28 17:43 编辑
liangyongfei 发表于 2018-2-28 17:32
window.open('http://www.shtv.net.cn/app/app.apk','_system');
这样呢?? 需要第二个参数 _system
如 ...

更新提示框  点击后没反应,我看VersionChecker 里也是用的window.open


type : "OK",
title : "版本更新",

VersionChecker.js 还需要改别的地方吗?

我似乎找到原因, window.open 支持是需要添加内嵌插件才可以,我试试重新打包到生产环境,说不定就解决了。
回复 支持 反对

使用道具 举报

发表于 2018-2-28 17:44:24 | 显示全部楼层
zhoubincibn 发表于 2018-2-28 17:39
更新提示框  点击后没反应,我看VersionChecker 里也是用的window.open

没!那你调试下下载的方法,执行了吗?!url 是多少??正确吗??
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

25

主题

57

帖子

233

积分

中级会员

Rank: 3Rank: 3

积分
233
QQ
 楼主| 发表于 2018-3-1 14:54:08 | 显示全部楼层
本帖最后由 zhoubincibn 于 2018-3-1 15:58 编辑
liangyongfei 发表于 2018-2-28 17:44
没!那你调试下下载的方法,执行了吗?!url 是多少??正确吗??

问题原因找到了, 似乎是bug(缺少对onOK的处理),我反馈一下:

系统默认的是:
type : "YesNoCancel",
在这种情况下,更新正常。

http://bbs.wex5.com/forum.php?mo ... page=1#pid165515372
我在版主的帖子中看到,如果强制更新改为:
type : "OK",
经过测试,这样写不能进入到下载 VersionChecker.prototype.download 方法中,导致没反应。

type属性值,我看是在messageDialog.js里定义的,找到对应config文件,查到是onOK事件
OK : 'OK',
OKCancel : 'OKCancel',
YesNo : 'YesNo',
YesNoCancel : 'YesNoCancel',
Prompt : 'Prompt'

解决方法:在  versionChecker.js  增加对 onOK 事件处理,问题解决,
                this.versionMsg.on('onOK', function(event) {
                        // 下载
                        this.download();
                }, this);
                this.versionMsg.on('onYes', function(event) {
                        // 下载
                        this.download();
                }, this);
                this.versionMsg.on('onNo', function(event) {
                        // 忽略
                        this.ignore();
                }, this);



可以结贴了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-9-28 13:15 , Processed in 0.058096 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表