【问题标题】:Android webview Toggle divAndroid webview 切换 div
【发布时间】:2014-05-10 10:07:35
【问题描述】:

我一直在尝试弄清楚如何在 Android Webview 中切换 Div,例如 http://jsfiddle.net/Z9f2b/

这是我的 Android 代码,但根本没有切换,有人可以解释我做错了什么吗?谢谢:

wv = (WebView) findViewById(R.id.webView1);
WebSettings webSettings = wv.getSettings();
wv.setWebViewClient(new WebViewClient());   
wv.getSettings().setLoadWithOverviewMode(true);
wv.getSettings().setUseWideViewPort(true);
wv.getSettings().setDisplayZoomControls(false);
wv.getSettings().setBuiltInZoomControls(false);
wv.getSettings().setSupportZoom (false);
wv.getSettings().setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(true);

String script = "$('#liked').on('click', function() {$('#liked').hide();$('#notliked').show();});$('#notliked').on('click', function() {$('#liked').show();$('#notliked').hide();});";

html = "<div id='liked' style='float:left;display:none; height:100px; width:100px; background-color:blue'>1</div><div id='notliked' style="float:left;height:100px; width:100px; background-color:red">2</div>";

String summary = "<html>"+script+"<body>"+html+"</body></html>";
wv.loadUrl("about:blank");
wv.loadData(summary, "text/html", null);

【问题讨论】:

    标签: javascript android jquery webview android-webview


    【解决方案1】:

    尝试将您的 javascript 包装在 &lt;script&gt; 标记中。

    此外,您需要在调用 $(window).load 时封装 javascript,以便在 DOM 准备好时注册处理程序。

    此外,您需要链接到 JQuery 库的某个版本。

    您确定为此需要 JQuery 吗?您可以在 div 上使用 onclick 处理程序非常简单地用标准 javascript 编写它...类似于:

    <div id='liked' style='float:left;display:none; height:100px; width:100px; background-color:blue'  onclick="document.getElementById('notliked').style.display='block'; document.getElementById('liked').style.display='none';">1</div>
    <div id='notliked' style="float:left;height:100px; width:100px; background-color:red; disply:block" onclick=" document.getElementById('liked').style.display='block'; document.getElementById('notliked').style.display='none';">2</div>
    

    【讨论】:

    • 我明白了,添加了一些。
    【解决方案2】:

    尝试在插入脚本之前加载 HTML 数据。可以在 HTML 加载到 Web 视图后插入 Javascript。这是更好的主意。所以你的代码应该是这样的:

    String summary = "<html><body>"+html+"</body></html>";
    wv.loadUrl("about:blank");
    wv.loadData(summary, "text/html", null);
    

    然后是:

    wv.loadUrl("javascript:"+script);
    

    这会将 javascript 插入当前网页,您甚至不需要注意它必须插入的位置以及插入方式。 Webview 会处理它。

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多