webview

Android WebView + AJAX local files

本秂侑毒 提交于 2020-01-20 21:58:05
问题 I have an android webview loading a website that I have locally in my assets. I've not built it myself, and I have very little control over the markup, js etc. Problem: Parts of the website use jquery $.ajax-gets to fetch HTML to display in a modal, and I think I've run into a cross-domain problem (if I test the site locally on my desktop I get same-origin-warnings, my origin is "null"), ie for some reason the local js can't ajax-get other local files in the assets folder because the

WKWebview使用记录

浪尽此生 提交于 2020-01-20 16:35:22
1、WKWebview添加手势 UISwipeGestureRecognizer *swipe =[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeAction)]; swipe.delegate = self; [wkWebView addGestureRecognizer:swipe]; // 允许多个手势并发 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; } 2、WKWebview禁用弹簧滑动 wkWebView.scrollView.bounces = NO; 3、WKWebview被js调用 window.webkit.messageHandlers.<对象名>.postMessage(body:<数据>)//body中可以直接放js对象,也可以省略body - (void)userContentController:(WKUserContentController *

WebView的onReceivedSslError()方法

回眸只為那壹抹淺笑 提交于 2020-01-20 12:52:44
Android应用中WebView访问https SSL证书网页时,Google Play 总是报 WebView 的 onReceivedSslError 错误。为避免谷歌安全警告,要重写WebView的onReceivedSslError方法,此时要弹框提示用户,是否忽略SSL错误,继续访问网页。 @Override public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error{ final AlertDialog.Builder builder = new AlertDialog.Builder(WechatLoginActivity.this); builder.setMessage(R.string.notification_error_ssl_cert_invalid); builder.setPositiveButton("continue", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { handler.proceed(); } }); builder

Android 和 HTML 页面交互

ε祈祈猫儿з 提交于 2020-01-20 01:00:45
参考链接: 参考地址 一.WebView加载HTML页面 String urlLocal = "file:///android_asset/index.html" ; String url = "https://www.baidu.com/" ; webView . setWebViewClient ( new WebViewClient ( ) ) ; webView . loadUrl ( urlLocak ) ; //加载本地html文件或者网站url 本地文件 index.html 内容如下 <!DOCTYPE html> < html > < head > < script type = " text/javascript " > //2.2 无参,无返回值的方法 function show ( ) { document . getElementById ( "temp" ) . innerHTML = "Hello world" ; } //2.3 有参,无返回值的方法 function alertMsg ( message ) { alert ( message ) ; } //2.4 有返回值的方法 function sum ( i , j ) { return i + j ; } </ script > < script type = " text

Android WebView 调起H5支付,提示商家参数格式有误

五迷三道 提交于 2020-01-19 15:11:22
1 引言 场景描述:在APP 中使用webView 显示第三方H5, H5中涉及到微信支付流程,无法正常支付,提示 “商家参数格式有误,请联系商家解决”。 1.1 线索分析 参照微信H5 支付开发官方文档 点击这里查看 描述一 一般提示出错,我们可以先去微信商户管理平台 点击这里查看 配制,当然出错后,也不急着去商户后台去查看配制,因为在开发微信支付功能初期这些都是已经配制好的,当然是在其平台比如 浏览器、Ios UIWebview 等都可以正常的调起支付,那说明在商户后台的配制是没有问题的,不过我们也可以再次去查看一下商户后台配制的具体值。 描述二 参照微信H5 支付开发官方文档常见问题 点击这里查看 在网络发生变动的情况会出现此提示之一 也有提到 “如果是APP里调起H5支付,需要在webview中手动设置referer”,具体内容如下 那么到这里,我们可以手动的在 Android WebView 中添加头 referer ,这个请求头 简言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器 籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。

Android中使用WebView, WebChromeClient和WebViewClient加载网页

放肆的年华 提交于 2020-01-19 07:52:05
在android应用中,有时要加载一个网页,如果能配上一个进度条就更好了,而android 中提供了其很好的支持, 其中webView的一系列用法,比如 webView.getSettings().setJavaScriptEnabled(true); //设置可以使用javascript webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); //设置滚动条风格 webView.setHorizontalScrollBarEnabled(false); webView.getSettings().setSupportZoom(true); webView.getSettings().setBuiltInZoomControls(true); //设置可以支持缩放 webView.setInitialScale(25); //为25%,最小缩放等级 ,可以在这里根据需求来设置缩放比例. webView.setHorizontalScrollbarOverlay(true); 下面是一个例子程序,先帖: 主程序: public class WebPageLoader extends Activity 02 { 03 final Activity activity = this; 04 @Override 05

A WebView method was called on thread".....”All WebView methods must be called on the same thread

假如想象 提交于 2020-01-19 04:41:06
RuntimeException: java.lang.Throwable: A WebView method was called on thread ‘OkHttp http://www.zhidianbao.cn/…’. All WebView methods must be called on the same thread. (Expected Looper Looper (main, tid 1) {14e8ab4f} called on null, FYI main Looper is Looper (main, tid 1) {14e8ab4f}) 来源: CSDN 作者: DingPenqQiang 链接: https://blog.csdn.net/qq_36707431/article/details/103955719

Android中使用WebView, WebChromeClient和WebViewClient加载网页

梦想的初衷 提交于 2020-01-18 08:03:24
在android应用中,有时要加载一个网页,如果能配上一个进度条就更好了,而android 中提供了其很好的支持, 其中webView的一系列用法,比如 webView.getSettings().setJavaScriptEnabled(true); //设置可以使用javascript webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); //设置滚动条风格 webView.setHorizontalScrollBarEnabled(false); webView.getSettings().setSupportZoom(true); webView.getSettings().setBuiltInZoomControls(true); //设置可以支持缩放 webView.setInitialScale(25); //为25%,最小缩放等级 ,可以在这里根据需求来设置缩放比例. webView.setHorizontalScrollbarOverlay(true); 下面是一个例子程序,先帖: 主程序: public class WebPageLoader extends Activity { final Activity activity = this; @Override public void

9-9【H5混合实战】基于定义WebView实现H5混合开发-2

半世苍凉 提交于 2020-01-18 00:47:31
webview具体展示的内容,想让它撑满整个界面。 用Expanded这个widget 初始化加载的时候提示信息 目前WebView还有一个bug。即使我们默认让它隐藏,也设置了初始化加载的信息。但是 你会发现它是无效的。但是在不久的将来,它修复了这个bug ,就可以正常使用了。 状态栏的颜色的判断, 如果和String类型的颜色 转换成Color这个widget需要的参数 Color是接收一个int类型的颜色 首先需要知道颜色是6位还8位的。如果是6位的话就需要前面补两位。补0x表示16位, 0x代表是16进制。 然后再将字符串转换成int类型的。然后用Color进行初始化就可以了。 使用webview 实现点击跳转到webView页面 下节课再讲 总结 webViewScaffold是WebView里面封装的以页面显示的WebView 通过 webViewScaffold 可以很便捷的使用WebView 结束 来源: https://www.cnblogs.com/wangjunwei/p/12207968.html

9-10【H5混合实战】基于自定义WebView实现H5混合开发-3

◇◆丶佛笑我妖孽 提交于 2020-01-18 00:44:50
封装好了WebView,下面来使用它。Nav里面每个图标点击会跳转到H5的页面。 跳转需要用到Navigator来push一个页面。然后里面使用MaterialPageRoute, 导入WebVIew这个widget 运行测试 点击 点击左侧的按钮可以返回。 点击返回,并没有返回到我们的首页,而是打开了另外一个H5页面 这个H5页面是携程的首页 怎么规避这个问题呢?接下俩就需要扩展我们的WebView来和H5之间进行一个混合。 在我们webView页面加载指定的url的时候。native做一些操作来规避让它不加载这个url。 当url发生变化的时候,在OnStateChanged会收到监听。 判断如果是跳转写成的首页或者是其他的H5页面,就不让他跳转,而是返回到我们的首页。 在顶部配置一些白名单。包含了携程可能出现的一些域名。 提供一个方法来判断 在dart里面判断一个object存不存在的方法。问号+点:?. 当我们的url存在的时候,才调用endsWith否则走的是false 如果是false或者不存在的情况下,直接设置为false flutter里面返回到上一页 通过pop方法。 加一个是否返回的状态。默认是没有返回的 返回到首页后,就设置为true 让Navigator不重复返回。 运行测试 点击返回并没有返回到我们的首页。 代码报错 成功返回 总结 如果禁制返回