• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

jesse01/WebViewJavascriptBridge: WebViewJavascriptBridge for Android

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

jesse01/WebViewJavascriptBridge

开源软件地址:

https://github.com/jesse01/WebViewJavascriptBridge

开源编程语言:

Java 85.4%

开源软件介绍:

WebViewJavascriptBridge

WebViewJavascriptBridge for Android 是 WebViewJavascriptBridge for iOS/OSX的Android 实现, 项目里的WebViewJavascriptBridge.js.txt, 及测试网页ExampleApp.html 直接来自 WebViewJavascriptBridge for iOS/OSX.

使用方法:

  1. 复制WVJBWebViewClient.java 到 Android 项目 src 下的一个子目录中, 按需修改package名称;
  2. 复制WebViewJavascriptBridge.js.txt到assets目录;
  3. 子类化 WVJBWebViewClient, 例如:

class MyWebViewClient extends WVJBWebViewClient {

	public MyWebViewClient(WebView webView) {

		//需要支持JS send 方法时
		super(webView, new WVJBWebViewClient.WVJBHandler() {
			@Override
			public void request(Object data, WVJBResponseCallback callback) {		
		  		//处理代码
			}
		});
		
  	  	/*
	  	//不需要支持JS send 方法时
  		super(webView);
  		*/  
	}

	@Override
	public void onPageFinished(WebView view, String url) {
		//处理代码
		super.onPageFinished(view, url);
	}

	@Override
	public boolean shouldOverrideUrlLoading(WebView view, String url) {
		//处理代码
		return super.shouldOverrideUrlLoading(view, url);
	}
  1. 设置WebView webView.setWebViewClient(new MyWebViewClient(webView));

  2. 用 excuteJavascript 方法执行脚本:

excuteJavascript(script); //不需要返回值, script前不要加javascript:前缀

excuteJavascript(script, callback); //需要返回值, script前不要加javascript:前缀

executeJavascript方法的内部实现机制:

a. Android 4.4及更高版本下, 使用WebView.evaluateJavascript方法执行脚本;

b. Android 4.4以下版本若需要返回值则采用addJavascriptInterface机制实现;

c. Android 4.4以下版本若不需要返回值则使用loadUrl方法执行脚本.

  1. WebViewJavascriptBridge for iOS/OSX 的下载地址: https://github.com/marcuswestin/WebViewJavascriptBridge



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap