`
yuwenlin2008
  • 浏览: 127195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android-WebView集成iScroll4之input框无法获取焦点

阅读更多

最近给公司做一个企业App,Android客户端+Java服务端,总共有十几个模块,其中有几个模块就是从服务端查询数据,手机上的功能有列表展示及下载附件。

 

我是做Java服务端开发的,不会Android,另外有android开发人员,经过讨论决定这块手机直接访问Java服务端(Java web系统)的页面,源自于开始给公司一个pad应用,也是光查询数据用,采用的是Android的webview访问web的一个url。

 

其实webview这种做法,最简单,省事,省成本,不用纯Android开发,web页面能访问,没问题,拿到手机上,或pad上测试——基本没什么大问题,有的话也是些css,js兼容性的问题。

 

所以这个功能我很快就在服务端开发完了,就是为了样式和兼容性,引入了jQuery-1.9.1,jquery.mobile-1.3.2。页面上一个文本输入框,可以输入标题进行查询,下面展示的就是列表。在手机上也测试了,大部分手机都没问题。

 

后来,交给测试部测试,人家来个压力测试,才1000多条数据,直接就死掉了,因为这个列表没有做分页功能。好了,加分页吧,关键是手机上分页得下拉刷新那种,怎么做,上网一搜,发现都在用开源的iScroll,网上有很多例子,后续也会专门来写这块,所以很快就加入到项目中,分页效果还不错,下拉刷新,上拉加载更多数据。

 

但是迎来的第一个问题就是那个input输入框怎么都没有焦点,压根不能输入,这必须得解决啊,开始没去网上搜,觉得是个小问题一会儿就能搞定,最后发现不是这么回事。我开始解决办法是页面加载完成后写js让input获得焦点就是设置focus方法了,电脑上好使,手机上不好使。后来Android开发人员说,它在Android端能够调我页面的js方法,这样好啊一试,发现有些手机上好使了,但是有些还是不好使。没办法,我把js一层一层过滤发现是iScroll的问题,只要把这个加载进来就不好使,去掉就好使,带着这个问题再上网搜,晕,发现网上到处是这个问题,而且解决办法千篇一律,就是让iScroll过滤input等html标签:

onBeforeScrollStart: function (e) {
				var target = e.target;
				while (target.nodeType != 1) {
				target = target.parentNode;
				}
				if (target.tagName != 'SELECT' && target.tagName != 'TEXTAREA' && target.tagName != 'INPUT') {
				e.preventDefault();
				}
			},

 重写这个方法,加上要过滤的标签input等。

按照这个改了后,发现电脑上好使,我用的chrome最新的39,专门为开发webview页装的,手机上还是不行,找了半天原因,还是不知道哪出问题。后来测试版本升级,给卸了重新安装,再测,发现好了,突然明白了是手机上缓存的原因。缓存啊,一直都在关注浏览器的缓存,忽视了手机上的缓存,还是手机开发做的少啊。

 

 

 

0
0
分享到:
评论

相关推荐

    android-system-webview-7703.apk

    Android8.0以下手机自带的android-system-webview版本过低使用

    php-android-webview

    而WebView则是Android系统中的一个组件,它允许开发者在应用程序中嵌入网页内容,实现类似浏览器的功能。 **PHP** 是“超文本预处理器”的缩写,是一种解释型的、面向对象的、通用的脚本语言。在Web开发中,PHP常...

    crosswalk-webview比webview更好用

    在实际开发中,你可以通过引入`crosswalk-webview-14.43.343.23-arm`这样的库文件,将Crosswalk-WebView集成到Android项目中。这个特定版本是针对ARM架构的设备,包含了特定版本的Crosswalk-WebView,确保在相应设备...

    Android-webview模拟原生页面切换效果

    在开发中,有时候我们会在app中使用WebView加载一个web页面。这样可以适当减轻我们开发的难度...这里我们就利用动画,以及 获取网页的快照来实现android activity 默认的切换效果(页面从右往左进入,从左往右退出)。

    Android代码-Android-X5WebView基本封装

    Android-X5WebView基本封装和使用 通过OkHttp拦截器、自定义CookieJar有效完成客户端与H5端的Cookie同步管理 监听WebView的加载进度 滚动条的设置(隐藏或者显示,内侧显示还是外侧显示) 优化X5WebView的预加载问题...

    android 第三方webview cordova的集成使用

    在Android开发中,有时我们需要利用第三方库来增强应用的功能,比如WebView。WebView是Android系统提供的一种用于在应用程序中展示网页内容的组件,但它的功能相对有限。这时,我们可以选择集成Cordova来提升WebView...

    Android-解决在webview中input标签type="file"不能使用的问题

    然而,在实际使用中,我们可能会遇到一些问题,比如在WebView中使用`<input type="file">`标签时,用户无法选择本地文件。这个现象主要是由于Android的安全机制和权限控制导致的。本文将详细讲解如何解决这个问题。 ...

    xamarin-android-webview-upload.7z

    总的来说,"xamarin-android-webview-upload.7z" 示例项目展示了如何在 Xamarin Android 应用中集成图片上传功能,利用 C# 代码和 Web 视图组件,为用户提供一个无缝的原生应用体验。理解并实践这个示例将有助于...

    Android-WebSocket-WebView_DEMO_websocket_androidwebview_

    在本DEMO中,"Android-WebSocket-WebView"着重展示了如何在Android应用中集成WebSocket功能,并利用WebView加载网页,实现客户端与服务器的实时交互。这个项目对于理解WebSocket与Android WebView的结合使用具有重要...

    react-native-webview.zip

    React Native WebView是一个流行的开源库,它允许React Native应用嵌入网页内容。这个库使得开发者能够利用Web技术(HTML、CSS和JavaScript)与React Native原生功能的结合,为移动应用提供丰富的交互体验。在...

    crosswalk-webview-23.53.589.4-x86_64.zip

    《Crosswalk-WebView:构建高性能Android Web应用的关键》 Crosswalk-WebView,作为一个开源项目,是Google Chrome浏览器的分支,旨在为Android应用提供一个稳定且高性能的Web运行环境。它替代了Android系统自带的...

    react-native-android-fullscreen-webview:在Android上支持全屏视频的React Native WebView组件

    react-native-android-fullscreen-webview 概述 默认情况下,React Native随附的WebView组件无法显示全屏。 该软件包实质上复制了现有的Android版WebView,并添加了一些额外的功能来启用全屏视频。 iOS默认情况下...

    解决RN 的 webview 组件不支持android客户端上传图片文件问题

    然而,由于RN的Webview组件在Android客户端上存在一些限制,可能导致无法直接支持上传本地图片文件。本教程将详细介绍如何解决这一问题。 首先,我们要理解问题的根源。React Native的`<WebView>`组件在Android上...

    uni-webview.js

    uni-webview.js

    Android-webview缓存

    在Android开发中,Webview是一个非常重要的组件,它允许我们在应用程序内部嵌入网页内容,提供类似于浏览器的功能。本文将深入探讨如何在Android的Webview中实现缓存功能,包括指定缓存目录、设置缓存时间等关键知识...

    react-native-android-webview-change

    react-native-android-webview解决React Native自带的WebView组件Android不能拦截URL的问题安装npm install react-native-android-webview --save 本机库链接安卓android/settings.gradle添加到android/settings....

    Android-WebView与Html交互

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。WebView不仅能够呈现HTML、CSS和JavaScript,还支持与Android原生代码进行交互,从而实现更丰富的功能。本篇文章将深入...

    android webview input=file 失效解决方案

    3. **权限问题**:如果应用没有请求读取外部存储的权限(READ_EXTERNAL_STORAGE),那么在Android 6.0及以上版本,Webview无法访问外部存储。 ### 解决方案 #### 1. 使用`WebChromeClient`和`...

    Android-WebView的封装获取标题获取图片js支持内存泄漏处理

    在Android应用开发中,WebView是一个非常重要的组件,它允许开发者在应用程序内嵌入网页内容,实现与网页的交互。本文将深入探讨如何封装一个高效的WebView,包括如何获取网页标题、如何处理图片加载、如何实现...

    unity-webview-integration-master.zip

    《Unity与WebView集成详解》 在移动应用开发中,Unity引擎以其强大的3D图形渲染能力和跨平台特性,被广泛应用于游戏开发。然而,有时我们还需要将网页内容嵌入到Unity应用中,这时就需要用到Unity与WebView的集成。...

Global site tag (gtag.js) - Google Analytics