147 lines
4.3 KiB
HTML
147 lines
4.3 KiB
HTML
<html>
|
||
<head>
|
||
<meta content="text/html; charset=utf-8" http-equiv="content-type">
|
||
<title>
|
||
js调用java
|
||
</title>
|
||
</head>
|
||
|
||
<body>
|
||
<p>
|
||
<xmp id="show">
|
||
</xmp>
|
||
</p>
|
||
<p>
|
||
<xmp id="init">
|
||
</xmp>
|
||
</p>
|
||
<p>
|
||
<input type="text" id="text1" value="用户名" />
|
||
</p>
|
||
<p>
|
||
<input type="text" id="text2" value="密码" />
|
||
</p>
|
||
<p>
|
||
<input type="button" id="enter" value="发消息给Native" onclick="testClick();"
|
||
/>
|
||
</p>
|
||
<p>
|
||
<input type="button" id="enter1" value="调用Native方法" onclick="testClick1();"
|
||
/>
|
||
</p>
|
||
<!--<p>-->
|
||
<!--<input type="button" id="enter2" value="显示html" onclick="testDiv();" />-->
|
||
<!--</p>-->
|
||
<!--<p>-->
|
||
<!--<input type="file" value="打开文件" />-->
|
||
<!--</p>-->
|
||
</body>
|
||
<script>
|
||
function testDiv() {
|
||
document.getElementById("show").innerHTML = document.getElementsByTagName("html")[0].innerHTML;
|
||
}
|
||
|
||
function testClick() {
|
||
var str1 = document.getElementById("text1").value;
|
||
var str2 = document.getElementById("text2").value;
|
||
|
||
//send message to native
|
||
var data = {id: 1, content: "这是一个图片 <img src=\"a.png\"/> test\r\nhahaha"};
|
||
var tp=1;
|
||
window.WebViewJavascriptBridge.callHandler('accreditlogin',tp,function(resp){
|
||
|
||
}
|
||
);
|
||
}
|
||
|
||
function testClick1() {
|
||
var str1 = document.getElementById("text1").value;
|
||
var str2 = document.getElementById("text2").value;
|
||
|
||
//call native method
|
||
|
||
var arrayObj = new Array();
|
||
|
||
var salesInfoDetail3 ={title:'',desc:'',data:'',type:''};
|
||
salesInfoDetail3.title="你好";
|
||
|
||
|
||
salesInfoDetail3.type=2;
|
||
arrayObj.push(salesInfoDetail3);
|
||
var salesInfoDetail4 ={title:'',desc:'',data:'',type:''};
|
||
salesInfoDetail4.title="---------------------------------------";
|
||
|
||
|
||
arrayObj.push(salesInfoDetail4);
|
||
|
||
var salesInfoDetail ={title:'',desc:'',data:'',type:''};
|
||
salesInfoDetail.title="你好";
|
||
salesInfoDetail.desc="你好";
|
||
salesInfoDetail.data="你好";
|
||
salesInfoDetail.type=1;
|
||
arrayObj.push(salesInfoDetail);
|
||
|
||
var salesInfoDetail2 ={title:'',desc:'',data:'',type:''};
|
||
salesInfoDetail2.title="你好";
|
||
salesInfoDetail2.desc="你好";
|
||
|
||
salesInfoDetail2.type=0;
|
||
arrayObj.push(salesInfoDetail2);
|
||
|
||
var json = JSON.stringify(arrayObj);
|
||
alert(json);
|
||
|
||
window.WebViewJavascriptBridge.callHandler(
|
||
'daying'
|
||
,json
|
||
, function(responseData) {
|
||
alert(responseData);
|
||
}
|
||
);
|
||
}
|
||
|
||
function bridgeLog(logContent) {
|
||
document.getElementById("show").innerHTML = logContent;
|
||
}
|
||
|
||
function connectWebViewJavascriptBridge(callback) {
|
||
if (window.WebViewJavascriptBridge) {
|
||
callback(WebViewJavascriptBridge)
|
||
} else {
|
||
document.addEventListener(
|
||
'WebViewJavascriptBridgeReady'
|
||
, function() {
|
||
callback(WebViewJavascriptBridge)
|
||
},
|
||
false
|
||
);
|
||
}
|
||
}
|
||
|
||
|
||
connectWebViewJavascriptBridge(function(bridge) {
|
||
bridge.init(function(message, responseCallback) {
|
||
console.log('JS got a message', message);
|
||
var data = {
|
||
'Javascript Responds': '测试中文!'
|
||
};
|
||
|
||
if (responseCallback) {
|
||
console.log('JS responding with', data);
|
||
responseCallback(data);
|
||
}
|
||
});
|
||
|
||
bridge.registerHandler("functionInJs", function(data, responseCallback) {
|
||
document.getElementById("show").innerHTML = ("data from Java: = " + data);
|
||
if (responseCallback) {
|
||
var responseData = "Javascript Says Right back aka!";
|
||
responseCallback(responseData);
|
||
}
|
||
});
|
||
})
|
||
</script>
|
||
|
||
</html>
|
||
|