Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在UIWebView中打开的HTML页面中自动填充用户名和密码_Javascript_Iphone_Ipad_Uiwebview_Autofill - Fatal编程技术网

Javascript 在UIWebView中打开的HTML页面中自动填充用户名和密码

Javascript 在UIWebView中打开的HTML页面中自动填充用户名和密码,javascript,iphone,ipad,uiwebview,autofill,Javascript,Iphone,Ipad,Uiwebview,Autofill,我正在保存用户在UIWebView中打开的HTML页面中输入的用户名和密码数据。现在,我想做的是把用户名和密码放回各自的字段中,然后提交表单,我希望这个功能几乎适用于任何类型的网站 目前,我能够使用JavaScript将数据放回各自的字段中。我的问题是,当网页上有多个表单时,如何识别填充了值的表单 此外,在我的应用程序开发过程中,我发现一些网站出于安全原因不允许填充密码字段。我应该使用什么JavaScript代码来实现此功能?简而言之,我能想到的唯一答案是java脚本。假设UIWebView对象

我正在保存用户在UIWebView中打开的HTML页面中输入的用户名和密码数据。现在,我想做的是把用户名和密码放回各自的字段中,然后提交表单,我希望这个功能几乎适用于任何类型的网站

目前,我能够使用JavaScript将数据放回各自的字段中。我的问题是,当网页上有多个表单时,如何识别填充了值的表单


此外,在我的应用程序开发过程中,我发现一些网站出于安全原因不允许填充密码字段。我应该使用什么JavaScript代码来实现此功能?

简而言之,我能想到的唯一答案是java脚本。假设UIWebView对象是*webView。使类支持UIWebViewDelegate,然后将该委托分配到适当的位置:

// In viewDidLoad or somewhere appropriate.
self.webView.delegate = self;
UIWebView委托函数

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{
    NSString *fillAndSubmit = [NSString stringWithFormat:@"<--- javascript --->",username,password];
    NSString *output = [webView stringByEvaluatingJavaScriptFromString:fillAndSubmit];
    // Any other stuff you need to do.
}
-(void)webViewDidFinishLoad:(UIWebView*)webView
{
NSString*fillAndSubmit=[NSString stringWithFormat:@',用户名,密码];
NSString*输出=[webView stringByEvaluatingJavaScriptFromString:fillAndSubmit];
//你需要做的任何其他事情。
}
上面是一个粗略的大纲,替换为javascript代码,将用户名和密码填入相关表单并提交。如果加载的页面使用JQuery,您可以在javascript中使用JQuery


至于要使用的javascript,这完全取决于所讨论的网页,因此我可以在这方面提供帮助。

嘿,伙计,我希望这将在web视图中帮助您

   - (void)webViewDidFinishLoad:(UIWebView *)webView
    {
            //For Authentication
        NSString *savedUsername = @"Bapu";
        NSString *savedPassword = @"Bapu123";

        if (savedUsername.length != 0 && savedPassword.length != 0)
        {
         //create js strings
         NSString *loadUsernameJS = [NSString stringWithFormat:@"var inputFields = document.querySelectorAll(\"input[type='text']\"); \
                                                 for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '%@';}", savedUsername];
        NSString *loadPasswordJS = [NSString stringWithFormat:@"var inputFields = document.querySelectorAll(\"input[type='password']\"); \
                                        for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '%@';}", savedPassword];

             //autofill the form
        [webView stringByEvaluatingJavaScriptFromString: loadUsernameJS];
        [webView stringByEvaluatingJavaScriptFromString: loadPasswordJS];
        }
    }

谢谢你的回答,但你给出的代码已经被我的应用程序实现了。我需要java脚本或JQuery代码放在那里,这几乎适用于任何网页。在开发我的应用程序的过程中,我遇到了各种网页,它们只允许自动填充用户名字段,而密码字段为空。例如:mail.google.com的登录页面只自动填充用户名字段。现在我应该使用什么Javascript/JQuery代码来自动填充网页?正如我所说,这取决于网站。因此,如果不知道该站点以及它是否已经使用jquery,我就无法真正回答这个问题。另外,您可能不想使用我编写的任何javascript。我对这门语言完全是个新手。}:)希望有人能在这里提出建议,如果你编辑问题,让它更清楚,你需要JS的建议。