android Webview中注入js,用于解决第三方页中出现返回事件window.history.go(-1),无法响应问题
来源:互联网 发布:tensorflow文字识别 编辑:程序博客网 时间:2024/05/08 21:39
问题描述:
平时我们在使用WebView时,出现第三方页中出现返回事件window.history.go(-1),这时点击网页中的返回页面就一直重新刷不能退出当前界面
解决方案:
通过在android Webview中注入js,用于解决无法响应问题。
例如如下网页test.html:
<!DOCTYPE"><html> <head> <title> New Document </title> <meta charset="utf-8"> <!--允许全屏--> <meta content="yes" name="apple-mobile-web-app-capable" /> <meta content="yes" name="apple-touch-fullscreen" /> <!--禁止电话号码和邮箱识别--> <meta content="telephone=no,email=no" name="format-detection" /> <!--添加一个ios用的icon--> <!--改成你想要的缩放比例--> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" /> </head> <body> <div id="jump-back-btn">返 回</div> </body></html>
在Android代码中:
WebSettings webSettings = mWebview.getSettings() ;webSettings.setDefaultTextEncodingName( "utf-8");webSettings.setJavaScriptEnabled(true);mWebview.addJavascriptInterface(new JSInterface(), "TEST_WEB"); //声明android端相应js中方法的回调接口 注意“TEST_WEB”与js中声明的要对应 mWebview.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return true; } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); mWebview.loadUrl("javascript:function testapi(){TEST_WEB.finish();}$(\".jump-back-btn\").on(\"click\",function(){testapi();window.history.go(-1);return false;})"); } });mWebview .loadUrl("file:///android_asset/test.html");public class JSInterface { @JavascriptInterface public void finish() { TestActivity.this.finish(); } }
向webview中注入js事件,注意要在onPageFinished中注入,保证当前界面全部加载完成
0 0
- android Webview中注入js,用于解决第三方页中出现返回事件window.history.go(-1),无法响应问题
- android webview无法响应网页js问题
- window.history.go()返回上页
- js中history.go(-1)
- window.history.go(-1)
- 开发日程:js使用history.go(-1)返回上一页出现网页过期
- window.history.go(-1)返回上页的同时刷新
- window.history.go(-1)返回上页的同时刷新
- window.history.go(-1)返回且刷新页面
- window.history.go()返回上页[转载]
- 解决GridView中嵌入CheckBox事件无法响应的问题
- 解决GridView中嵌入CheckBox事件无法响应的问题
- JS中button控件click事件无法响应的问题
- 解决android ListView item中事件处理无法响应方法
- 安卓解决WebView中无法执行js的问题
- window.history.go(-1);window.history.back(); 在谷歌浏览器不兼容的问题
- android webview js交互, 响应webview中的图片点击事件
- android webview js交互, 响应webview中的图片点击事件
- 第三届H-star 程序设计竞赛决赛题解
- C++学习(一)——入门
- Css3学习笔记
- Java 中带参带返回值方法的使用
- 关于开发app内部阅读pdf文件
- android Webview中注入js,用于解决第三方页中出现返回事件window.history.go(-1),无法响应问题
- hdu2063(二分图的最大匹配)
- C++对象模型
- 泰坦尼克事件的生还研究
- python random()函数
- 【整理自慕课网】Android动感系列-扫一扫 ZXing
- 简单谈谈如何利用h5实现音频的播放
- hdu1202The calculation of GPA
- ElementTraversal API的元素遍历