导航:首页 > APP软件 > 安卓内嵌h5页面js阻塞

安卓内嵌h5页面js阻塞

发布时间:2023-07-26 16:30:19

㈠ 把HTML5的手机网站嵌入安卓APP中,发现<input type='file' />的上传按钮功能失效,点击没有任何反应

安卓APP的WebView默认屏蔽了该控件的使用,有些安卓APP之所以能支持文件选择和上传,主要可能是有可能采取了如下措施之一:

(1)可能在该APP中重写了相关方法(http://stackoverflow.com/questions/5907369/file-upload-in-webview)

(2)提供了js Bridge来供web页面调用

所以,单从前端技术上是解决不了这个问题的。

这个问题之所以不太好排查,一方面跟手机端的图片上传功能我不太常用到有很大关系,另一方面也因为见到一些其它的APP容器能支持该功能,所以思维在习惯上已经形成定势,误以为这是WebView默认就支持的。

末了,顺便提醒一句,下次进行类似功能的需求评审,别忘了先了解下相应的APP容器是否支持该功能,如果没有,则需要找到相应的客户端开发同学评估一下工时,以免造成影响项目进度的风险








㈡ 手机切换到后台h5页面js不运行

在html5中document新增了一个事件 visibilitychange,这个事件在页面前台或后台切换时被触发,你所说的问题就简单了,它也有个对应的属性visibilityState,用于检测当前页面的状态值为hidden还是visible。
解法是,在hidden时记录当前时间,在visible时用当前时间减去之前记录的时间就为当前倒计时需要减去的时间,这也就不需要和后台沟通了,或者你直接在visible时刷新页面也行,下面是小样,你测试一下

var b=getTime();

function getTime()
{
return Date.now();

}

document.addEventListener('webkitvisibilitychange',function()
{

if(document.webkitVisibilityState=='hidden')
{
b=getTime();

}else
{
document.body.appendChild(document.createTextNode('间隔:'+(getTime()-b)))

}

})
document.addEventListener('mozvisibilitychange',function()
{

if(document.mozVisibilityState=='hidden')
{
b=getTime();

}else
{
document.body.appendChild(document.createTextNode('间隔:'+(getTime()-b)))

}

})

㈢ 关于Oppo、Vivo手机低于Android 7.0版本WebView中JS不执行,CSS加载异常的问题

项目中出现一个兼容性问题,Oppo、Vivo手机Webview加载本地JS、CSS不执行

一、前提 OV手机低于android 7.0版本,

二、baseUrl是Https的

三、使用: webView.loadDataWithBaseURL(baseUrl, html, "text/html; charset=UTF-8", "utf-8", null) 方法加载

解决办法

还有一种不太好的解决办法: webView.loadDataWithBaseURL(null, html, "text/html; charset=UTF-8", "utf-8", null)

但是这样会导致页面内不是完整路径的图片找不到。

阅读全文

与安卓内嵌h5页面js阻塞相关的资料

热点内容
浏览器清理工具 浏览:723
网络适配器电源管理 浏览:261
c盘系统文件损坏win10 浏览:364
速达h5账号密码 浏览:345
哪个网站有微博数据 浏览:47
易观大数据官网怎么用 浏览:347
uibot怎么设置编程语言 浏览:610
tt2文件可以删除吗 浏览:254
手机酷狗app怎么关闭开机启动 浏览:248
微信一元购平台 浏览:482
苹果账号玩安卓游戏吗 浏览:688
提取单元格的所有数据库 浏览:654
java超大文本 浏览:322
java声明常量 浏览:528
电脑编程语言怎么样 浏览:421
wordpress页面复制 浏览:677
app怎么改流量范围 浏览:1
手机相片源文件怎么发微信 浏览:538
mac上播放swf文件格式 浏览:892
linux中更改文件的群组 浏览:373

友情链接