WebView没有注册onclick javascript链接

时间:2017-03-04 10:37:54

标签: android android-webview

我有以下课程。

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
  private WebView w;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    w = (WebView) findViewById(R.id.activity_main_webview);
    w.getSettings().setJavaScriptEnabled(true);
    w.getSettings().setBuiltInZoomControls(true);
    w.getSettings().setDisplayZoomControls(false);
    w.setClickable(true);
    w.loadUrl("https://www.w3schools.com/js/tryit.asp?filename=tryjs_alert");
  }
  @Override
  public void onBackPressed() {
    if(w.canGoBack())w.goBack();
    else super.onBackPressed();
  }
}

如果您尝试点击“试用它”警告框,则不会触发任何内容。

如何修复WebView?

3 个答案:

答案 0 :(得分:1)

只需设置默认WebChromeClient

即可
w.setWebChromeClient(new WebChromeClient());

答案 1 :(得分:0)

webview不会自动显示AlertDialog。您必须使用setWebChromeClient设置WebChromeClient,然后覆盖onJsAlert以显示AlertDialog

答案 2 :(得分:0)

此处提出类似问题WebView blocking pop up windows? 尝试添加以下内容:

    webView.getSettings().setPluginsEnabled(true);
    webView.getSettings().setAllowFileAccess(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);