我已成功将 JavaScript 注入(inject)到 UIWebView 中,并成功更改了我想要使用以下方法的文本字段中的值。现在我想自动单击 HTML 表单按钮,但没有成功,似乎按钮被禁用,直到它收到触摸事件,并且只有在第二个触摸事件时它才会提交 HTML 表单,这就是我注入(inject)的 JS 'click()' 方法不起作用的原因吗?我怎样才能让它发挥作用?
我使用的注入(inject)方法在this page中有描述。
我用过这个:[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('ctl00_SPWebPartManager1_g_cb264700_1517_426f_926d_3ca40934a6fd_ctl00_EditModePanel1_btnLogin.click();');"];
还有:
[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function x_LogBtn() { "
"var field = document.getElementById('ctl00_SPWebPartManager1_g_cb264700_1517_426f_926d_3ca40934a6fd_ctl00_EditModePanel1_btnLogin');"
"field.click();"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[webView stringByEvaluatingJavaScriptFromString:@"x_LogBtn();"];
没有成功,任何人都可以给我一些关于这个问题的线索吗? 谢谢!
最佳答案
我无法告诉您为什么点击不起作用 - 尽管这很可能是 iOS 开发团队故意的安全限制 - 但可能还有另一种方法可以解决您的问题。
我的问题是你为什么要这样做。如果您想代表用户将表单数据提交到某处的服务器,为什么不直接使用 POST 请求将信息发送到服务器?当您收到响应时,您可以解析它并运行其他代码,也可以将 HTML 放入 UIWebView 中。我确信,它消除了您正在执行的所有 javascript hackery,并产生了令用户更加满意的结果。
关于javascript - iOS UIWebView - 自动点击 FORM 按钮..如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4354823/