下面讲诉一种更简单的android与js交互的方法(对于js不好的同学帮助很大~~~)
<html>
<head>
<title>学习单详情</title>
<meta charset="utf-8">
<meta name="viewport"
content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<meta content="telephone=no" name="format-detection">
<link href="http://218.17.158.37:8880/marketGateway/css/style.css" rel="stylesheet">
<script>
var imgurls='';
/**
*初始化获取所有图片的链接,“,”隔开
*/
window.onload = function init(){
var objs = document.getElementsByTagName("img");
for(var i=0;i<objs.length;i++)
{
imgurls+=objs[i].src+',';
}
console.log(imgurls);
}
/**
*打开doc,pdf,excel 文档
*@param type 文档类型
*@param url 文档地址
*/
function openDocument(type,url){
console.log(type+"***"+url);
androidlistner.openDocument(type,url);
return false;
}
/**
*打开图片
*@param position 第几张图片
*@param url 所有图片地址
*/
function openImage(position,url){
console.log(position+"***"+url+"***"+imgurls);
androidlistner.openImage(position,url,imgurls);
return false;
}
/**
*打开浏览记录
*/
function openBrowseRecord(){
console.log("openBrowseRecord");
androidlistner.openBrowseRecord();
return false;
}
</script>
</head>
<body>
<div id="content">
<div class="adv">
<img onclick="openImage('0','http://static.kocla.com/kocla/2015-08-10/8a20ae9c468ac4400146a85f5d17233e/document/8e7fc84f732a4da69038e7df0e491309.jpeg')"
src="http://static.kocla.com/kocla/2015-08-10/8a20ae9c468ac4400146a85f5d17233e/document/8e7fc84f732a4da69038e7df0e491309.jpeg"/>
</div>
<div class="padbox">
<div class="box-title">
<h2><span class="fr">2015-08-10 16:15:53</span>科学有序的进行</h2>
<div class="tag">
<span>小学</span>
<span>三年级</span>
<span>科学</span>
<span>学习单</span>
</div>
<div class="sort">
</div>
<div class="source"><span class="fr icon-tag" onclick="openBrowseRecord()">0/0</span>来源:获取
</div>
<div class="text">三个王国</div>
</div>
</div>
<!--padbox-->
<div class="padbox">
<h2>科学有序的进行</h2>
<div class="text c-666 p-tb05"></div>
<div class="padbox"><h3>人工智能</h3>
<div class="text c-666 p-tb05">可很快就会可能不够</div>
<ul class="list-txt">
<li class="icon-3"><a
onclick="openDocument('1','http://static.kocla.com/kocla/2015-08-10/8a20ae9c468ac4400146a85f5d17233e/document/50fab07c5ed14f9c9fe7c6451a7f6c6f.doc')"
href="http://static.kocla.com/kocla/2015-08-10/8a20ae9c468ac4400146a85f5d17233e/document/50fab07c5ed14f9c9fe7c6451a7f6c6f.doc">流程检索</a>
</li>
</ul>
<h3>机器人的世界</h3>
<div class="text c-666 p-tb05"></div>
</div>
</div>
</div>
</body>
</html>
private class MyWebViewClient extends WebViewClient {
// 当点击链接时,希望覆盖而不是打开新窗口
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url); // 加载新的url
return true; // 返回true,代表事件已处理,事件流到此终止
}
@Override
public void onFormResubmission(WebView view, Message dontResend, Message resend) {
super.onFormResubmission(view, dontResend, resend);
resend.sendToTarget();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressBar.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
addImageClickListner();
progressBar.setVisibility(View.GONE);
}
}
//——————————————-
// js通信接口
class JavaScriptInterface {
JavaScriptInterface() {
}
/**
* This is not called on the UI thread. Post a runnable to invoke
* loadUrl on the UI thread.
*/
@JavascriptInterface
//public void clickOnAndroid(String url) {
public void openBrowseRecord() {
//添加自己的业务
}
@JavascriptInterface
public void openImage(String img, int position, String allUlrs) {
//SuperToastManager.makeText(getActivity(), img + ", " + position+" ," +allUlrs).show();
String[] imgs = allUlrs.split(",");
ArrayList<String> imgsUrl = new ArrayList<String>();
for (String s : imgs) {
imgsUrl.add(s);
}
//浏览所有图片
Intent intent = new Intent();
intent.putStringArrayListExtra("ImageUrl", imgsUrl);
intent.putExtra("CurrentPosition", position);
intent.setClass(getActivity(), Activity_ImageReview.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getActivity().startActivity(intent);
}
@JavascriptInterface
public void openDocument(int type,String url ) {
SuperToastManager.makeText(getActivity(),type+", "+url).show();
mUrl = url;
//添加自己的业务
}
}
private void addImageClickListner() {
//调用 HTML 中的javaScript 函数
wv_Show_Document.loadUrl("javascript:void()");
}