webview

app 立即杀进程导致 webview保存的cookie失效

拥有回忆 提交于 2020-02-14 10:58:50
我这里是使用shiro的rememberMe进行cookie登录,发现立即杀进程会无法保存cookie,百度了很多文章,才发现有个十几秒的延迟时间。 参考: webView 中js保存cookie后立即杀掉进程后重启无法获取保存的cookie https://blog.csdn.net/u013179982/article/details/90053345 所以只要不立即杀进程就可以了。 来源: https://www.cnblogs.com/kinome/p/12306339.html

清除UIWebView的缓存

こ雲淡風輕ζ 提交于 2020-02-12 05:43:17
//清除cookies NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (cookie in [storage cookies]) { [storage deleteCookie:cookie]; } // 清除webView的缓存 [[NSURLCache sharedURLCache] removeAllCachedResponses]; 一般这样就能删除UIWebView 中的缓存。 文/Tracey(简书作者) 原文链接:http://www.jianshu.com/p/b0607343e9be 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。 在加载不同文件的时候,缓存会导致输入输出流打开关闭异常。我第一次打开PDF,第二次打开DOC的时候就会爆异常:Stream 0x7fb5435c8a50 is sending an event before being opened。设置清除缓存之后,就可以避免这个问题。 来源: https://www.cnblogs.com/wobuyayi/p/5647634.html

OC与JS的交互(iOS与H5混编)

给你一囗甜甜゛ 提交于 2020-02-10 07:05:47
大神总结WKWebView的坑: https://mp.weixin.qq.com/s/rhYKLIbXOsUJC_n6dt9UfA 在开发过程中,经常会出现需要iOS移动端与H5混编的使用场景。 iOS中加载html网页, 可以使用UIWebView或WKWebView. 本篇博客将介绍两种控件使用过程中如何实现OC与JS的交互。 UIWebView delegate 协议方法 //网页即将开始加载 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; //网页开始加载 - (void)webViewDidStartLoad:(UIWebView *)webView; //网页加载完成 - (void)webViewDidFinishLoad:(UIWebView *)webView; //网页加载失败 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error; //UIWebView自带了一个方法, 可以直接调用JS代码(转化为string类型的js代码)

Android之WebView学习

杀马特。学长 韩版系。学妹 提交于 2020-02-10 04:53:40
WebView常用方法 WebSettings 在使用WebView前我们都要进行相关的配置,常见的操作如下: WebSettings settings = mWebView.getSettings(); settings.setJavaScriptEnabled(true); //支持javascript settings.setUseWideViewPort(true); //设置webview推荐使用的窗口,使html界面自适应屏幕 settings.setLoadWithOverviewMode(true); //缩放至屏幕的大小 settings.setAllowFileAccess(true); //设置可以访问文件 // settings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM); //设置中等像素密度,medium=160dpi settings.setSupportZoom(true); //设置支持缩放 settings.setLoadsImagesAutomatically(true); //设置自动加载图片 // settings.setBlockNetworkImage(true); //设置网页在加载的时候暂时不加载图片 // settings.setAppCachePath(""); //设置缓存路径

Android的webview和JavaScript互相调用

我是研究僧i 提交于 2020-02-10 04:51:33
Android 中自定义文件必须放在资产文件夹下 asset 1. 用 WebView 来显示 HTML 代码 2. 允许 WebView 执行 JavaScript webView.getSettings().setJavaScriptEnabled(true); 3. 获取到 HTML 文件,也可从网络中获取 webView.loadUrl(" file:///android_asset/test.html "); //HTML 文件存放在 assets 文件夹中 4.使用addJavascriptInterface 添加一个android中的某个类的对象 , 让 JS 可以访问该对象的方法 , 该对象中也可以调用 JS 中的方法 webView.addJavascriptInterface(new Contact(), "contact"); 1 import android.app.Activity; 2 import android.content.Intent; 3 import android.net.Uri; 4 import android.os.Bundle; 5 import android.webkit.WebView; 6 7 public class MainActivity extends Activity { 8 private WebView

where to place local video files for android webview html5 hybrid app

旧街凉风 提交于 2020-02-10 04:24:24
问题 I am loading html page from asset folder to android webview, the html pages has video. Other images are loaded clearly but video is not loaded i mean not plays in app. Where to place the local video file? I tested by placing video files in asset folder and raw folder, but not plays video. webView.loadUrl("file:///android_asset/index.html"); // load html file video.src="file:///android_res/raw/test.mp4"; // load video file from raw folder and video.src="file:///android_asset/test.mp4"; // load

android js 互相调用

房东的猫 提交于 2020-02-10 04:05:32
代码地址如下: http://www.demodashi.com/demo/13107.html android js 互相调用 第二版 支持js匿名函数接收 支持js json对象接收 支持js函数返回值获取 通过注解注入js方法 优化第一版的反射注入方式,采用注解处理器编译时生成注入代码,提高运行效率 加入简单的 webview 预加载功能 实现原理 通过注解处理器实现js代码自动生成 创建WebViewChromeClient重写 onProgress方法当进度大于30%的时候执行js代码注入,js代码必须注入成功才能调用 js代码生成逻辑 /** * 注解处理器 */ @AutoService(Processor.class) public class InjectProcessor extends AbstractProcessor { /** * 文件相关的辅助类 */ private Filer mFiler; /** * 元素相关的辅助类 */ private Elements mElementUtils; /** * 日志相关的辅助类 */ private Messager mMessager; //返回注解处理器可处理的注解操作 //@Override public Set<String> getSupportedOptions() { // return

Android-webview和js互相调用

和自甴很熟 提交于 2020-02-10 03:35:20
Android-webview和js互相调用 Android 和 H5 都是移动开发应用的非常广泛。市面上很多App都是使用Android开发的,但使用Android来开发一些比较复杂附属类,提示性的页面是得不偿失的。而H5具有开发速度快,更新不用依赖于App的更新,只需要服务端更新相应的页面即可,所以,App和H5页面相结合就显得尤为重要。而android和H5都不可能每次都是独立存在的,而是相互影响也相互的调用,获取信息等,例如,H5页面要获取App中的用户的基本信息,或者App端要操作H5页面等,下面来看看这两是怎么交互的。 先来看一下项目的整体架构(Android studio中的项目) 整个项目的结构就是这样的,里面最主要的就是assets下面的js_webView.html文件和代码中的WebViewJsActivity,其中项目里面的MainActivity只是做了个跳转而已,跳转到WebViewJsActivity。就这样。 下面上代码:(js_webView.html) html里面的代码也比较简单,整个html中就一个Button,点击这个Button的时候去执行javascript中的 jsCallAndroid() 方法。 网页中有关 javascript 的代码也比较简单,整个 js 就2个方法,一个是 jsCallAndroid() ,一个是

Android与js互相调用

≡放荡痞女 提交于 2020-02-10 03:28:40
有话要说: 本篇主要总结了简单的Android与js互相调用的方法。 在开发过程中遇到了需要在安卓中调用js方法的需求,于是将具体的实现过程总结成这篇博客。 效果: 其中“调用安卓方法”按钮是html中的按钮;“调用JS方法”按钮是app中的按钮。 本地HTML: 首先,在app根目录新建一个assets文件夹,并在文件夹内新建一个本地html文件,如下图 接着编写一个简单的html文件: 1 <html lang="zh-CN"> 2 <p id='p'>hello world</p> 3 4 <script> 5 function test(){ 6 document.getElementById("p").innerHTML += " 你好!" 7 } 8 </script> 9 10 <button onclick="justTest.hello('js调用安卓方法!')">调用安卓方法</button> 11 12 </html> Android布局文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com

Android-webview和js互相调用

谁说胖子不能爱 提交于 2020-02-10 03:01:38
Android 和 H5 都是移动开发应用的非常广泛。市面上很多App都是使用Android开发的,但使用Android来开发一些比较复杂附属类,提示性的页面是得不偿失的。而H5具有开发速度快,更新不用依赖于App的更新,只需要服务端更新相应的页面即可,所以,App和H5页面相结合就显得尤为重要。而android和H5都不可能每次都是独立存在的,而是相互影响也相互的调用,获取信息等,例如,H5页面要获取App中的用户的基本信息,或者App端要操作H5页面等,下面来看看这两是怎么交互的。 先来看一下项目的整体架构(Android studio中的项目) 整个项目的结构就是这样的,里面最主要的就是assets下面的js_webView.html文件和代码中的WebViewJsActivity,其中项目里面的MainActivity只是做了个跳转而已,跳转到WebViewJsActivity。就这样。 下面上代码:(js_webView.html) html里面的代码也比较简单,整个html中就一个Button,点击这个Button的时候去执行javascript中的 jsCallAndroid() 方法。 网页中有关 javascript 的代码也比较简单,整个 js 就2个方法,一个是 jsCallAndroid() ,一个是 androidCallJs() 。看方法名就知道了