Android Studio中WebView无法运行JavaScript,if语句失效求助
解决WebView中JavaScript无法运行的问题
嘿,我帮你分析下这个问题——WebView默认是禁用JavaScript的,这就是为啥你的网页能正常加载,但JS里的if语句完全失效的核心原因!下面给你一步步搞定的方案:
第一步:启用JavaScript支持
在你的onCreate方法里,必须通过WebSettings开启JavaScript,这是最关键的一步。默认情况下Android为了安全,会关闭WebView的JS功能。第二步:配置WebViewClient(可选但推荐)
如果不设置WebViewClient,网页中的跳转可能会打开系统自带浏览器,设置后可以让网页在你的WebView里继续加载,体验更连贯。
下面是修改并补全后的MainActivity代码:
package com.techshala.ramyakmehra.flashsalehelper; import android.os.Bundle; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { WebView wv; @Override public void onBackPressed() { if (wv.canGoBack()) { wv.goBack(); } else { super.onBackPressed(); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 确保你的布局文件里包含id为wv的WebView wv = findViewById(R.id.wv); // 绑定布局中的WebView组件 // 获取WebView的设置对象 WebSettings webSettings = wv.getSettings(); // 启用JavaScript webSettings.setJavaScriptEnabled(true); // 设置WebViewClient,让网页在当前WebView加载而不是系统浏览器 wv.setWebViewClient(new WebViewClient()); // 替换成你要加载的网页地址 wv.loadUrl("你的网页URL"); } }
另外提个小细节:你的onBackPressed方法里有多余的分号,我已经帮你去掉了,虽然不影响功能,但代码会更整洁~
内容的提问来源于stack exchange,提问作者Ramyak Mehra
相关产品推荐
相关产品推荐

