2016-12-26 3 views
0

Я пытаюсь создать веб-приложение для Android с помощью WebView. Мой cenary очень просто, У меня есть файл index.html с кнопкой:JS ReferenceError на Android WebView для уровня api 15

<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"); 

для уровня апи 19 или выше все работает нормально. Но для уровня api с 15 до 18 веб-просмотр не может загрузить мой простой javascript-метод «connect».

Я много ищу о проблемах с webview для уровня api ниже 19, но это очень простой тест. Кто-то когда-нибудь делает что-то похожее на api 15?

ответ

0

решаемые

Для моего случая проблема заключается в том, что Aparently WebView для API, ниже 19 вы должны поместить любой код явно на «окно» объект.

Так что, когда я изменить свой Java скрипт для

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

все работает!

У нас есть много вопросов, подобных этой проблемы, если это не работает для вас, проверьте также:

Смежные вопросы