WebView部分按钮无响应问题求助(附Android实现代码)
解决WebView中网页按钮无响应的问题
嘿,我看了你的代码,发现了几个关键问题,这应该就是导致网页部分按钮点击没反应的原因,咱们一步步修复:
1. 启用JavaScript(核心问题)
你代码里的这一行:
webSettings.getJavaScriptEnabled();
只是获取当前JavaScript的启用状态,而不是开启它!绝大多数网页的交互按钮都依赖JavaScript运行,所以必须改成启用的写法:
webSettings.setJavaScriptEnabled(true);
2. 启用DOM存储支持(可选但重要)
很多现代网页会使用localStorage或sessionStorage来保存页面状态,缺少这个支持也可能导致部分交互失效,建议加上:
webSettings.setDomStorageEnabled(true);
3. 完整修改后的代码
public class browse extends AppCompatActivity { WebView appwebview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_browse); String profileID= getIntent().getStringExtra("inputtext"); Toast.makeText(getApplicationContext(),profileID,Toast.LENGTH_SHORT).show(); appwebview=(WebView) findViewById(R.id.webview); WebSettings webSettings= appwebview.getSettings(); // 修复:启用JavaScript webSettings.setJavaScriptEnabled(true); // 新增:启用DOM存储 webSettings.setDomStorageEnabled(true); appwebview.loadUrl("https://statsroyale.com/profile/"+profileID); appwebview.setWebViewClient(new WebViewClient()); } @Override public void onBackPressed() { if(appwebview.canGoBack()) appwebview.goBack(); else super.onBackPressed(); } }
额外提示
如果做完以上修改还是有部分按钮没反应,可以检查是否有网页需要打开新窗口的情况,这时候你需要重写WebViewClient的shouldOverrideUrlLoading方法,或者添加WebChromeClient来处理新窗口请求。不过先试试前面的修改,这应该能解决大部分问题。
内容的提问来源于stack exchange,提问作者Jasbin Karki
相关产品推荐
相关产品推荐

