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 表,并且单元格并不总是具有相同的名称。我正在使用带有 DOM 的 JavaScript 来获取变量,并将其作为 URL 内的变量传递给新网页。它可以在我的计算机浏览器上完美运行,但在我的手机上却不行。我启用了 JavaScript,但它不起作用。我究竟做错了什么?谢谢

4

2 回答 2

0

不知道你用 onCreateOptionsMenu 到底在假装什么。那将是应该在onCreate中的代码

这样,您应该在onCreate方法中设置WebViewClient 。

然后,您的代码应如下所示:

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;
}

试试看!

于 2013-09-26T22:54:55.423 回答
0

我找到了一个回答我的问题的教程希望它可以帮助http://examples.javacodegeeks.com/android/core/ui/webview/android-webview-example/

于 2013-09-29T05:22:02.817 回答