Android - Javascript:如何在 webview 中执行 jquery

Posted

技术标签:

【中文标题】Android - Javascript:如何在 webview 中执行 jquery【英文标题】:Android - Javascript: how to execute jquery in webview 【发布时间】:2015-04-19 03:39:59 【问题描述】:

我正在构建一个在 web 视图中加载网页的应用程序。 在该网页中,我需要使用 Jquery 以编程方式单击一些链接。 现在,我知道如何以编程方式在 webview 上执行 javascript 代码(见下文):

WebSettings myBrowserSettings = myBrowser.getSettings();
myBrowserSettings.setJavaScriptEnabled(true);
Log.d("Stefano", "JS enabled");    


myBrowser.loadUrl("javascript:document.getElementsByid('myWord').click();");

但是现在,我需要知道如何在我的 webview 中实现一个 Jquery 函数;我正在寻找正确的方法来管理以下内容:

myBrowser.loadUrl("jquery:function($("#myAnchor").click(function(event))");

实现以下功能的正确方法是什么?

$("#a_link")[0].click();

【问题讨论】:

如果您提出的原始问题已被任何发布的答案解决,您应该将其中一个标记为已接受。如果您有任何其他问题,您应该打开一个新问题。顺便说一句,代码 $("#a_link")[0].click();看起来不错。你有什么问题? 【参考方案1】:

如果在这个页面中加载了 jquery,你可以这样调用:

webview.setWebViewClient(new WebViewClient()   
    @Override  
    public void onPageFinished(WebView view, String url)   
        webview.loadUrl("javascript:(function()  " +  
                    "$("#myAnchor").click(function(event)" +  
                    ")()");  
      
);

【讨论】:

我无法修改页面的 html 代码,因为我连接到的网站不是我的。那么,从网络加载网页,我该如何使用 Jquery? 知道了,我改了答案【参考方案2】:

你有什么问题?这是关于转义字符?

myBrowser.loadUrl("jquery:function($(\"#myAnchor\").click(function(event))");

【讨论】:

以上是关于Android - Javascript:如何在 webview 中执行 jquery的主要内容,如果未能解决你的问题,请参考以下文章

Android - Javascript:如何在 webview 中执行 jquery

如何在webview(android)中使用javascript(或不是javascript)模拟键盘事件以输入textarea

如何在 Android 上将 Javascript 注入 GeckoView

如何在android的webview中调试javascript

如何在 Android 应用程序的 WebView 中查看 Javascript 错误?

如何在 Android(和 iOS)上查看 JavaScript 控制台?