gpt4 book ai didi

javascript - 在 Android 中执行没有 webview 的 javascript

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:21 25 4
gpt4 key购买 nike

我正在尝试在我的 Android 应用程序中执行 JS 函数。该函数位于网站上的 .js 文件中。

我没有使用 webview,我想执行 JS 函数,因为它发送了我想要的请求。

在我浏览器的控制台中,我只需执行 question.vote(0);,我该如何在我的应用程序中执行此操作?

最佳答案

2018 年更新:AndroidJSCore 已被 LiquidCore 取代,它基于 V8.它不仅包括 V8 引擎,而且还提供所有 Node.js。

您可以在没有 WebView 的情况下执行 JavaScript。您可以使用 AndroidJSCore .这是一个简单的示例,您可以如何操作:

HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://your_website_here/file.js");
HttpResponse response = client.execute(request);
String js = EntityUtils.toString(response.getEntity());

JSContext context = new JSContext();
context.evaluateScript(js);
context.evaluateScript("question.vote(0);");

但是,这很可能在 WebView 之外不起作用,因为我认为您不仅依赖 JavaScript,还依赖 AJAX,它不是纯 JavaScript 的一部分。它需要浏览器实现。

您有什么理由不使用隐藏的 WebView 而只是注入(inject)您的代码吗?

// Create a WebView and load a page that includes your JS file
webView.evaluateJavascript("question.vote(0);", null);

关于javascript - 在 Android 中执行没有 webview 的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29089696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com