安卓 - Javascript:如何在Webview中执行jquery

6

我正在开发一个应用程序,其中在Webview中加载网页。 在该网页中,我需要使用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(); 看起来不错。您遇到什么问题呢? - Javi Mollá
2个回答

5
如果页面中已经加载了jQuery,你只需要调用以下代码即可:

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

我无法修改页面的HTML代码,因为我连接到的网站不是我的。那么,从网络加载网页,我如何使用Jquery? - Stefano
明白了,我改变了我的答案。 - mazurovEV

3

您有什么问题?是关于转义字符的吗?

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接