java - 从 Android 应用程序触发 javascript

标签 java javascript android

我对 Android 开发还很陌生。我在应用程序中的按钮之一将用户发送到一个网页,用户可以在其中登录特定系统。

该网页有用户名和密码的文本框。一旦您点击登录按钮(在网页中),它就会触发 JavaScript 来登录系统。 触发的代码为: onclick="updateAction('TourAccLogin');document.main_form.submit();

登录的网页表单:

The webpage form to login

我的问题是: 我在应用程序中有用户名和密码,我想知道我是否可以以某种方式操纵此表单,自动登录而无需用户干扰?意思是,我将填写用户名和密码,然后“单击”登录按钮。因此,用户将立即被引导至系统,而无需输入用户名和密码。

最佳答案

这项技术对我很有效。就我而言,我正在加载一个在 mElementId 中命名的隐藏字段,其中包含存储在 someData 中的字符串值,然后触发其 onchange 事件,该事件不会自行触发。我添加它是为了展示如何在单次注入(inject)中堆叠 javascript 命令。我确信此方法的一个变体适合您。

我还转义了所有单引号以防止 JavaScript 错误。您可能需要转义任何其他特殊字符,包括分号。就我而言,这是没有必要的,因为数据已经被清理过。

// Copy data to element
mWebView.loadUrl("javascript:(function() { " +  
        "document.getElementById('" + mElementId + "').value = '" + 
        someData.replace("'", "\'") + "'; " +
        "document.getElementById('" + mElementId + "').onchange();" +
        "})()");

关于java - 从 Android 应用程序触发 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15647028/

相关文章:

javascript - AngularJS 如何在 setTimeout 后强制更新 DOM

android - 使用 ListView 选择项设置布局 - Android

android - 无法使用 get 参数获取包的数据

具有已知界限的 Java Stream 最小值

java - 转发到 tomcat 中的 jsp 时出错?

javascript - React 中的条件样式

javascript - 如何在excel js中下载带有图像的excel表

java - 查看上面的对话框?

java - 标准化除 ñ 以外的字符串

java - 在 JBoss 5.1 中设置 user.dir 系统属性