UIWebView 保存用户名和密码
Posted
技术标签:
【中文标题】UIWebView 保存用户名和密码【英文标题】:UIWebView saving username and password 【发布时间】:2012-09-02 01:40:02 【问题描述】:我使用 javascript 获得了用户名和密码,但该代码不适用于所有网站。 gmail 使用的 id 与 Facebook 不同,许多网站可能也这样做,那么如何使代码适用于任何登录的网站?
现在它是如何获取用户名/密码的:
if (navigationType == UIWebViewNavigationTypeFormSubmitted)
//works for gmail
NSString *username = [WebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('Email')[0].value"];
NSString *password = [WebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('Passwd')[0].value"];
//works for facebook?
//NSString *username = [WebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('email')[0].value"];
//NSString *password = [WebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('pass')[0].value"];
NSLog(@"username is %@\npassword is %@",username,password);
所以我只想知道如何获取用户登录的任何站点的用户名和密码,以便我可以保存它,然后在他们返回并注销时自动填充,以便轻松登录。
【问题讨论】:
【参考方案1】:要获取所有文本字段,您可以像这样放置一个 js 查询
document.querySelectorAll("input[type='text']")
希望对您有所帮助。 :)
如需了解更多详情,请参考this post
【讨论】:
【参考方案2】:如果您希望它适用于任何网站,您将不得不做一些完全不同的事情。也许创建一个站点数组,然后将字段存储到该对象。您可以搜索每个“密码”输入,然后尝试向上移动到上一个输入,因为大多数时候它是用户名然后是密码字段。
但您无法让它适用于所有网站。
【讨论】:
我知道如何为任何网站存储它们,但获取它们是问题所在,因为大量网站的 getelementbyname 文本不同,我不知道如何为任何网站获取它,苹果不知何故,我认为海豚浏览器可以。以上是关于UIWebView 保存用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章
我可以使用 UIWebView (iOS) 自动登录 youtube 吗?