2015-08-27 5 views
2

Я разрабатываю приложение для Android, и у меня есть работа с javascript, работающая в trouvble. Вот мой основной код деятельности:Javascript не работает над веб-просмотром

protected void onCreate(Bundle savedInstanceState) { 
     Log.i(TAG, "create LocalDialogActivity"); 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_local_dialog); 

     webView = (WebView)findViewById(R.id.local_dialog_webview); 
     webView.setWebChromeClient(new WebChromeClient()); 

     webView.getSettings().setUseWideViewPort(true); 
     webView.getSettings().setLoadWithOverviewMode(true); 

     webView.getSettings().setSupportZoom(true); 
     webView.getSettings().setBuiltInZoomControls(true); 
     webView.getSettings().setDisplayZoomControls(false); 

     webView.getSettings().setJavaScriptEnabled(true); 
      webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 


     } 
} 

private class WebAppInterface { 
      @JavascriptInterface 
      public void validate() { 
        //do some action... 
      } 

     @JavascriptInterface 
     public void cancel() { 
      //do some actions... 
     } 
} 

вот мой HTML код:

<!DOCTYPE html> 
<html> 
    <head> 
     <link rel="stylesheet" type="text/css" href="../css/style.css"> 
     <script src="../js/myjavascript.js"></script> 
    </head> 
    <body> 


    <section id="header"> 
    </section> 


    <section id="buttons"> 
      <button class="button" id="no" onclick="cancel()">cancel</button> 
      <button class="button" id="yes" onclick="validate()">validate</button> 
    </section> 

    <footer id="footer"> 
    </footer> 
</body> 

</html> 

Когда я нажимаю на мои кнопки, функции проверки() и отмены() не работает.

вот мой Javascript код:

function validate() { 
    Interface.validate(); 
} 

function cancel() { 
    Interface.cancel(); 
} 

Интерфейс мой javascriptInterface в моем Android код.

Любые идеи приветствуются.

ответ

2

Просто добавьте

webView.getSettings().setDomStorageEnabled(true); 
0

Из моего использования Android WebView, проверьте, если вы находитесь на уровне масштабирования "по умолчанию". Например, если вы увеличиваете/уменьшаете масштаб, а затем нажимаете кнопку, вы не можете нажимать ее, а вместо этого увеличивайте масштаб в позиции, которую вы нажали.

Если это не ваша проблема, attemp следующее:

Проверьте, если скрипт читается правильно. Сделайте это, добавив функции cancel()/validate() в заголовок HTML ...

Проверьте, полностью ли загружен документ. Сделайте это, добавив что-то вроде functcion initialize(){alert("loaded");} на window.onload = initialize();

Если он все еще failling, затем опубликовать свой манифест, и любая LogCat должна произойти ошибка, а также ссылки на WebView (полный класс, где используются WebView, или, по крайней мере, все переменные, которые используются с ним).

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