一般的瀏覽器中是無(wú)法通過(guò)js調(diào)用本地java程序的,但是可以調(diào)用嵌入到網(wǎng)頁(yè)的applet的方法。交互方式如下:
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了浦江免費(fèi)建站歡迎大家使用!
applet?codebase?=?"."?width?=?"400"?height??=?"400"
name=?"MyApplet"?code?=?"test.applets.MyApplet1.class"?
script
//?js訪問(wèn)applet屬性:document.appletName.appletField?(屬性必須是public的)?
//?js訪問(wèn)Applet方法:document.appletName.appletMethod?(方法必須是public的)
function?showLable{
//?調(diào)用test.applets.MyApplet1類的invokeByJS方法?
document.applets["MyApplet"].invokeByJS('myvalue');
}
/script
\r\n\r\n//上面我用java代碼根據(jù)id取得了一個(gè)user類的實(shí)體 u 下面就可以用js操作顯示等等\r\nalert();//在窗口打印一個(gè)用戶名\r\n\r\n
為了方便網(wǎng)頁(yè)和Android應(yīng)用的交互,Android系統(tǒng)提供了WebView中JavaScript網(wǎng)頁(yè)腳本調(diào)用Java類方法的機(jī)制。只要調(diào)用addJavascriptInterface方法即可映射一個(gè)Java對(duì)象到JavaScript對(duì)象上。
1、映射Java對(duì)象到JavaScript對(duì)象上
代碼如下:
mWebView = (WebView) findViewById(R.id.wv_content);
mWebView.setVerticalScrollbarOverlay(true);
final WebSettings settings = mWebView.getSettings();
settings.setSupportZoom(true);
//WebView啟用Javascript腳本執(zhí)行
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
//映射Java對(duì)象到一個(gè)名為”js2java“的Javascript對(duì)象上
//JavaScript中可以通過(guò)"window.js2java"來(lái)調(diào)用Java對(duì)象的方法
mWebView.addJavascriptInterface(new JSInvokeClass(), "js2java");
代碼如下:
/**網(wǎng)頁(yè)Javascript調(diào)用接口**/
class JSInvokeClass {
public void back() {
activity.finish();
}
}
2、JavaScript調(diào)用Java對(duì)象示例
調(diào)用上述JSInvokeClass類對(duì)象的back方法,如下:
復(fù)制代碼 代碼如下:
window.js2java.back();
網(wǎng)站標(biāo)題:js怎么使用java代碼 js怎么調(diào)用java的方法
分享URL:http://muchs.cn/article12/dohdcgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、搜索引擎優(yōu)化、做網(wǎng)站、網(wǎng)站導(dǎo)航、域名注冊(cè)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)