2016-12-26 95 views
0

我想使用WebView爲Android創建一個Web應用程序。我cenary很簡單,我有一個按鈕,一個index.html文件:關於Android WebView的JS級別15的JS ReferenceError

<button id="connect-button" onclick="connect">Connect</button> 

和簡單(腳本)元素:

<script> 
connect = function() { 
    alert("Oi"); 
}; 
</script> 

在Android方面我有一個在Webview上加載此文件的活動

WebView web; 
web = (WebView) findViewById(R.id.webview01); 

//ProgressBar related to the xml 
progressBar = (ProgressBar) findViewById(R.id.progressBar1); 
progressBar.setMax(100); 

web.setWebViewClient(new myWebClient()); 
web.setWebChromeClient(new MyWebViewClient()); 
web.getSettings().setJavaScriptEnabled(true); 
web.getSettings().setLoadWithOverviewMode(true); 
web.getSettings().setUseWideViewPort(true); 
web.loadUrl("file:///android_asset/index.html"); 

對於api級別19或以上的一切正常。但對於API 15到18級的webview無法加載我簡單的JavaScript方法「連接」。

我搜索了很多關於webview for api level bellow 19的問題,但這是非常簡單的測試。有時某人會做出類似於api 15的事情?

回答

0

解決

對於我來說,問題是,aparently的WebView原料藥比19下,你必須把所有的代碼明確的「窗口」對象。

所以,當我改變我的Java腳本

<script> 
window.connect = function() { 
    window.alert("Oi"); 
}; 
</script> 

一切正常!

我們有很多的相似對這個問題的問題,如果這對你也檢查不工作: