X5、WebViewJavascriptBridge、百度地图网页版 整合注意事项

一 什么是webViewjavascripBridge?

          WebViewJavascriptBridge是移动UIView和Html交互通信的桥梁,用作者的话来说就是实现java(ios为oc)和js的互相调用的桥梁。替代了WebView的自带的JavascriptInterface的接口,使得我们的开发更加灵活和安全。

         WebViewJavascriptBridge
for Android

         https://github.com/jesse01/WebViewJavascriptBridge

         WebViewJavascriptBridge
for iOS/OSX

 
       https://github.com/marcuswestin/WebViewJavascriptBridge

 
           注意:使用4.1.5版才能跟安卓的保持一致:

 
       pod 'WebViewJavascriptBridge','4.1.5'

二 什么是X5

       

  •         TBS2.1基于Android 5.0 WebView Blink内核(M37版本)适配定制优化,适配Android全部主流平台,可以支持移动应用App在所有Android手机上使用Blink的技术能力。TBS2.1支持Service Worker,可以帮助Web应用后台运行,提供离线访问等原生App应用体验。此外,TBS2.1在H5/CSS3支持,安全,可靠,性能方面有进一步提升。TBS2.1已经发布,将逐步在各客户端中静默升级,用户终端无需更新微信、手机QQ、QQ空间即可使用最新的TBS2.1Blink内核。

           x5接入文档

三  接入注意事项

        1、X5与WebViewJavascriptBridge

      

    private class MyWebChromeClient extends WebChromeClient {
        @Override
        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            return super.onJsAlert(view, url, message, result);
        }

        @Override
        public boolean onJsConfirm(WebView view, String url, String message, JsResult result) {
            return super.onJsConfirm(view, url, message, result);
        }

        @Override
        public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {
            return super.onJsPrompt(view, url, message, defaultValue, result);
        }

        @Override
        public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
            callback.invoke(origin, true, false);
            super.onGeolocationPermissionsShowPrompt(origin, callback);
        }

        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) {
            if (mUploadMessage != null) return;
            Log.e("openFileChooser", "openFileChooser");
            mUploadMessage = uploadMsg;
            selectImage();
//               Intent i = new Intent(Intent.ACTION_GET_CONTENT);
//               i.addCategory(Intent.CATEGORY_OPENABLE);
//               i.setType("*/*");
//                   startActivityForResult( Intent.createChooser( i, "File Chooser" ), FILECHOOSER_RESULTCODE );
        }

        // For Android < 3.0
        public void openFileChooser(ValueCallback<Uri> uploadMsg) {
            openFileChooser(uploadMsg, "");
        }

        // For Android  > 4.1.1
        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
            openFileChooser(uploadMsg, acceptType);
        }

    }
GeolocationPermissions.Callback 替换为 GeolocationPermissionsCallback

     修改为:

            

    private class MyWebChromeClient extends WebChromeClient {
        @Override
        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            return super.onJsAlert(view, url, message, result);
        }

        @Override
        public boolean onJsConfirm(WebView view, String url, String message, JsResult result) {
            return super.onJsConfirm(view, url, message, result);
        }

        @Override
        public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {
            return super.onJsPrompt(view, url, message, defaultValue, result);
        }

        @Override
        public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissionsCallback callback) {
            callback.invoke(origin, true, false);
            super.onGeolocationPermissionsShowPrompt(origin, callback);
        }

        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) {
            if (mUploadMessage != null) return;
            Log.e("openFileChooser", "openFileChooser");
            mUploadMessage = uploadMsg;
            selectImage();
//               Intent i = new Intent(Intent.ACTION_GET_CONTENT);
//               i.addCategory(Intent.CATEGORY_OPENABLE);
//               i.setType("*/*");
//                   startActivityForResult( Intent.createChooser( i, "File Chooser" ), FILECHOOSER_RESULTCODE );
        }

        // For Android < 3.0
        public void openFileChooser(ValueCallback<Uri> uploadMsg) {
            openFileChooser(uploadMsg, "");
        }

        // For Android  > 4.1.1
        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
            openFileChooser(uploadMsg, acceptType);
        }

    }

         2,X5与百度地图网页版

            地图加载慢或者加载不出来的情况 ,发现是因为

            1、x5没能打开GPS定位权限,建议提示将GPS、WiFi、4G网络定位都打开。

            2、第一次加载百度地图去下载的网页元素太大

时间: 2024-09-16 18:58:04

X5、WebViewJavascriptBridge、百度地图网页版 整合注意事项的相关文章

html5-关于百度地图网页版 求解答

问题描述 关于百度地图网页版 求解答 如图要实现这个,这是个网页版 只显示这个医院的位置 然后驾车路线等信息 怎么实现? 解决方案 http://lbsyun.baidu.com/index.php?title=webapi

百度身边网页版停止运营:融入地图业务

百度身边网页版将停止运营( 腾讯科技配图)腾讯科技讯(乐天)1月23日消息,百度旗下的信息搜索和分享平台百度身边近日宣布由于产品业务调整,百度身边网页版将于两周后下线,停止运营.百度身边论坛及部分功能已关闭,并暂停PC端传图功能.百度身边手机端将进行升级为"百度身边指南",目前,百度身边用户的全部数据已经同步于百度地图, 网友下载地图客户端可以继续点评分享.据百度官方透露,百度地图部门拆分为LBS事业部后,身边业务已涵盖进 地图业务,此番调整主要是要统一LBS入口.据悉,百度去年底成立

百度hi网页版怎么注册

  下载百度HI软件,进行安装,安装后的界面,还算不错吧. 人们的习惯就是直接点击"注册账号"了,但是问题就出现在这了,不知道百度什么问题,在这里是注册不了的. 百度hi网页版怎么注册 百度hi客户端注册流程 那么该怎么办呢?教大家换个思路吧,我们用百度空间的账户登录,没有的去注册. 登陆成功了吧. 看起来比较简单,但是还是有比较有意思的功能的,比如说抢红包. 抢红包功能,有意思吧.

百度云网页版怎么在线下载文件

  现在大多数人下载百度云盘的文件是不是系统会提示你下载百度云客户端之后再下载文件?可是很多网友不想为了下个文件就去下载安装客户端,那该怎么办呢?如何在不下载客户端的情况下来下载文件?快来和小编一起看看吧! 百度云网页版如何下载文件方法(脱客户端版本): 1.右键点右上角检查; 2.弹窗里面点一下这个小手机图标,界面会变成这个有格子的. 3.点下载就能直接保存了.

新版谷歌地图网页版开放试用 功能具更多社交属性

硅谷网讯 五月份谷歌在I/O 大会上公布了新版谷歌地图细节,并通过发放邀请函的方式小规模试用,近日谷歌发布新版谷歌地图的安卓应用,昨日谷歌宣布,新版谷歌地图网页版开放试用. 新版谷歌http://www.aliyun.com/zixun/aggregation/17368.html">地图设计更加扁平,功能具有更多社交属性,地图搜索结果变得更加个性化. 原标题 新版谷歌地图网页版开放试用

百度地图js版开发 f5 鼠标右键刷新时地图会稍微偏移

问题描述 百度地图js版开发 f5 鼠标右键刷新时地图会稍微偏移 js +html开发的百度地图,数据是动态从后台获取的,加载顺序没有任何问题, 从其他地方点到地图加载,数据正常,地图位置正常,只是f5刷新或者右键刷新的时候 地图初始在深圳,然后会稍微偏移一点在香港左右,跪求大神解决一下啊.这个问题 解决不了 解决方案 http://aiquantong.iteye.com/blog/1574053

高德地图怎么看经纬度?高德地图网页版经纬度查看教程

高德地图网页版经纬度查看教程: 1.首先打开高德地图官网对着你想要查看经纬度的地点右键,再点击[这是哪儿]. 2.点击[更多],再点击[分享]. 3.复制并打开[分享出来的地址]. 4.查看地址栏,前一部分的数字就是经度数据,后一部分则是纬度.

百度地图安卓版离线包下载教程分享

给各位百度地图安卓版的软件使用者们来详细的解析分享一下离线包下载的教程. 教程分享: 1.打开百度地图,点击左上角的头像. 2.点击[离线地图]按钮 3.再点击[离线地图]     4.先选择[城市列表],然后点击省或城市右侧的按钮下载   好了,以上的信息就是小编给各位百度地图安卓版的这一款软件使用者们带来的详细的离线包下载的教程解析分享的全部内容了,各位看到这里的软件使用者们,小编相信你们现在那是非常的清楚了下载的方法了吧,那么大家就快去按照小编上面的教程自己去下载离线地图吧.

百度身边网页版下线 功能整合进百度地图

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 1月23日下午消息,百度旗下商户点评服务百度身边今日发布公告,网页版将于两周后下线,手机版升级为"百度身边指南",全部数据已经与百度地图同步. 百度身边于2010年11月上线,是一个以美食.购物.休闲娱乐.酒店.健身等为主体的本地生活信息搜索和分享平台. 去年10月,百度正式宣布成立LBS事业部,与百度移动·云事业部一起形