Files
youle_app_android/app/src/main/assets/demo.html
2026-02-16 18:18:11 +08:00

147 lines
4.3 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>