You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:24:14