Я новичок в веб-браузере Android и использую JavaScript

0

Я пытаюсь заставить приложение для Android работать с JavaScript. Я включил JavaScript. И я понятия не имею, почему это не работает, все исследования, которые я сделал, говорят, что это должно. Буду признателен за любую оказанную помощь.

Вот мой код Java

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_PROGRESS);
    getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
    WebView webview = new WebView(this);
    setContentView(webview);
    setProgressBarVisibility(true); 

    webview.getSettings().setJavaScriptEnabled(true);
    webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);


    final Activity activity = this;
}



@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

        webview.goBack();

        return true;
    }
    return super.onKeyDown(keyCode, event);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);


    webview = new WebView(this);      
    webview.setWebViewClient(new WebViewClient() {  
        @Override  
        public boolean shouldOverrideUrlLoading(WebView view, String url)  
        {  
          view.loadUrl(url);  
          return true;  
        }  
      });                 
    setContentView(webview);      
    webview.loadUrl("http://www.example.com/droid/mobile_index.html");
    return true;}

и вот JavaScript, с которым я пытаюсь взаимодействовать.

   <script type="text/javascript">
   function reply_click(clicked_name)
   {
   var clicked_name;
document.location="http://www.example.com/droid/updatescore.php?location=" +    clicked_name;

     }
     </script>

У меня есть php-таблица, которая создается динамически. И для ячеек не всегда будет одно имя. Я использую JavaScript с DOM для получения переменной и передаю ее на новую веб-страницу как переменную внутри URL-адреса. Он работает отлично на моем браузере компьютера Однако не на моем телефоне. У меня включен JavaScript, но он не работает. Что я делаю не так? благодаря

Теги:
android-webview

2 ответа

0

Я нашел учебник, который ответил на мой вопрос, надеюсь, что он поможет http://examples.javacodegeeks.com/android/core/ui/webview/android-webview-example/

0

Не знаю, что вы притворяетесь именно с помощью onCreateOptionsMenu. Это будет код, который должен быть в onCreate

Таким образом, вы должны установить WebViewClient в методе onCreate.

Тогда ваш код должен выглядеть так:

private static WebView webView;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_PROGRESS);
    getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
    webview = new WebView(this);
    webview.setWebViewClient(new WebViewClient() {  
        @Override  
        public boolean shouldOverrideUrlLoading(WebView view, String url)  
        {  
              return false;  
        }  
      }); 
    setProgressBarVisibility(true); 

    webview.getSettings().setJavaScriptEnabled(true);
    webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

setContentView(webview);

    final Activity activity = this;
}



@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

        webview.goBack();

        return true;
    }
    return super.onKeyDown(keyCode, event);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);

    webview.loadUrl("http://www.example.com/droid/mobile_index.html");
    return true;
}

Попробуй!

  • 0
    Спасибо за ваш комментарий Regys788880 Однако это, похоже, не помогло ... Любые другие идеи. Я работал над этим в течение 3 дней безрезультатно ...
  • 0
    Я отредактировал свой ответ, чтобы быть более полезным.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню