我们如何从Android调用javascript?我有这个我想使用的javascript库,我想调用javascript函数并将结果值传递给android java代码.从现在起没有找到答案.我设法从javascript调用android代码,但我想要相反的方式.
在开发Android应用程序时是否可以引用javax.script.ScriptEngine库?如果没有,那么有可能在android中评估一个javascript表达式?
假设我们有一个标准的登录页面,如下所示:
我们可以像这样使用using 或plain中的HTML元素:DOMjQueryJavaScript
换句话说,获取元素在网页中的像素位置的方法非常简单,方法是使用element.getBoundingClientRect():
Run Code Online (Sandbox Code Playgroud)var rect = element.getBoundingClientRect(); console.log(rect.top, rect.right, rect.bottom, rect.left);
因此,我们可以从控制台或通过网络应用程序以编程方式进行操作。
现在,假设我们随时都有一个Android浏览器(Chrome / Mozilla / WebView)。我可以URL在浏览器中检索网页的。在这种情况下:
https://login.microsoftonline.com/
所以我的问题是,给定登录页面的URL,我如何类似地获得对上相同输入字段的访问权限Android browser?
我需要能够HTML在Android浏览器中访问网页的元素,并计算其像素位置。作为输入,我具有任何Android浏览器中的网页URL。
我说的是在Android运行时中通过Android应用执行此操作,即以编程方式使用Java / JS代码。
如果有人需要DOM页面的结构为文本,则可以使用以下(Java)代码以编程方式获取它:
URL url;
HttpURLConnection urlConnection;
String DOMContent = null;
try {
url = new URL("https://login.microsoftonline.com/");
urlConnection = (HttpURLConnection) url.openConnection();
int responseCode = urlConnection.getResponseCode();
if(responseCode == HttpURLConnection.HTTP_OK){
DOMContent = readStream(urlConnection.getInputStream());
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch …Run Code Online (Sandbox Code Playgroud)