安卓app中webview的相关操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_25136209/article/details/78622113

webview的核心方法
webView.setWebViewClient()和 webView.setWebChromeClient( );

如何相应网页的弹窗点击事件?
http://blog.csdn.net/angel20082008/article/details/20689229

相当于处理网页的弹窗
http://blog.csdn.net/wo392942362/article/details/52169281

相似问题
http://www.cfanz.cn/index.php?c=article&a=read&id=318709

加网页进度条
http://blog.csdn.net/easyer2012/article/details/51490595

input标签无法点击
https://www.poorren.com/android-webview-embedded-web-page-input-select-the-file

webview是不允许自己点开web中的表单的,要自己处理
http://blog.csdn.net/stzy00/article/details/52831105

要处理的,缓存页面,进度条

//关于web的缓存机制,就是前面几行就行
http://www.jianshu.com/p/95d4d73be3d1

//内存优化
http://blog.csdn.net/dliyuedong/article/details/46947007

//原生保存cookier,然后传给webview
http://blog.csdn.net/hu1tian2long3/article/details/53379454

http://blog.csdn.net/u011638883/article/details/50516264#comments

http://blog.csdn.net/kpioneer123/article/details/50912017#comments

//在webclick中pagerstarted方法中可以监听里面界面的改变!!!
可以通过在webview中使用setWebViewClient(WebViewClient client)方法,新建一个WebViewClient并实现它的onPageStarted(WebView view, String url, Bitmap favicon)方法来达到监听网页切换。只不过它不能确定执行的是前进后退还是刷新。

import android.webkit.*;//包含有WebView和WebViewClient类
Class Demo{
    public void init(android.content.Context c){
        WebView w=new WebView(c);//Context可以使用你的MainActivity中的getContext()方法(或者getApplicationContext())获取
        w.setWebViewClient(new WebViewClient() {
            @Override public void onPageStarted(WebView view, String url, Bitmap favicon){
                onLoadNewPage(url);//实现接口方法并取出数据到外部
            }
        });
         
    }
    public void onLoadNewPage(String url){
        System.out.println("Start loading page: "+url);
    }
}

WebViewClient类的shouldOverrideUrlLoading和onPageStarted方法

shouldOverrideUrlLoading这个方法也是能够检测页面是否跳转而且是展示的真正的地址!!!(最好是把shouldOverrideUrlLoading方法的实现放在前面!!!!!重要!!!!)
https://www.zhihu.com/question/20794046

webview中代替错误界面
http://www.jianshu.com/p/860e5658b54b(方法论)

http://blog.csdn.net/vampire2777/article/details/54730975(提供思路,webview的重加载)

//即使webview在一开始设置了referer,然而还是在最后还是会被拦截掉。。
http://blog.csdn.net/tiger_hulei/article/details/75040135
http://blog.csdn.net/jxmy_1989/article/details/53924523

webview里面的h5支付
http://blog.csdn.net/linsawako/article/details/64502648

调出微信支付
http://blog.csdn.net/phenomenon123/article/details/52535190

关于webview调取h5的微信支付
http://bbs.csdn.net/topics/391886068

如何唤起支付宝的支付
http://www.jianshu.com/p/e335333574a8

//复用问题
http://blog.csdn.net/sinat_35670989/article/details/72478410
//复用
http://m.blog.csdn.net/bihansheng2010/article/details/50553574

webview加载h5界面防空白页
http://blog.csdn.net/lijinweii/article/details/72764256?locationNum=7&fps=1

加载h5白屏问题
http://bbs.csdn.net/topics/390847316

2017.9.26
微信webview的h5支付之所以是空白页,是因为转跳微信支付是转跳app的,然后原来的demo就走了pause方法,然后在微信支付里面,原来demo因为是paose,
或者web端的对微信支付做了点击事件的处理,在点击微信支付的按钮的时候就已经走了之后的连接,但是原来的demo还是在onpause状态啊,很神奇的现象是能够在webclient的方法里面有个onpagefinish方法加载微信支付的回调连接,但是webview本身不会加载,变成了空白页。
解决这个问题是打日志,在onresume和onpause方法中,观察,在onpagefinish中记录下微信支付的回调地址,然后在onresume方法中检测回调地址,然后把记录的回调地址加上去即可!!

当webview中有邮箱地址的时候,如何处理这个邮箱的点击
https://stackoverflow.com/questions/18874282/webview-email-link-mailto

在网页中添加标签,然后app可以打开。10.17
http://blog.csdn.net/CDersTeam/article/details/51334649

在网页中添加标签,然后app可以打开。10.17
http://blog.csdn.net/qduningning/article/details/37602101

function callH5(data){ 
  document.getElementById("result").innerHTML="result success for Android to:"+data; 
} 

//定义本地点击事件 效果调用Android方法 传递参数给Android客服端
function myOnclick(){
  document.getElementById("result").innerHTML="按钮被点击了"
  //调用android本地方法 调用对象由Android定义实例化,调用方法由Android提供 (具体对象名和方法待定,可变更)
  myObj.callAndroid("弹窗显示回调成功了~~~"); 
        前面的myobj是安卓原生里面方法后面的值,然后callAndroid是前面的值
}

mWebView.addJavascriptInterface(new Contact() {
@JavascriptInterface //必须加的注解
@Override
public void callAndroid(String phone) {
  Toast.makeText(MainActivity.this, phone, Toast.LENGTH_LONG).show();
}

http://blog.csdn.net/meijuanyou/article/details/54973556
function类里面的方法名才是方法

function注意这里面方法的区别
http://www.cnblogs.com/yunfang/p/4958463.html

原生和js交互(js数据能传到原生,原生也能传数据到js)
http://blog.csdn.net/cappuccinolau/article/details/8262821/

fragment中嵌套了webview的回退问题
https://www.baidu.com/s?wd=嵌套了fragment里面的webview的回退&ie=UTF-8

fragment中嵌套了webview的回退问题
http://www.cnblogs.com/yoyohong/p/6698495.html

http://blog.csdn.net/zhongruichun/article/details/50482461

支付宝支付
http://blog.csdn.net/u012338845/article/details/52910869

http://blog.csdn.net/u014752325/article/details/53976422

支付宝支付参考
http://blog.csdn.net/u014752325/article/details/53976422

支付宝支付参考
http://blog.csdn.net/zxz_tsgx/article/details/54408140

webview保存cookier信息(这个cookier就是webview的cookier,和那个okhttp保存的那个cookier不太一样!!) 11.23
http://m.blog.csdn.net/u013704970/article/details/53735639

猜你喜欢

转载自blog.csdn.net/sinat_25136209/article/details/78622113