2011-04-30 83 views
1

我想在我加載到UIWebView的網頁中輸入密碼。密碼是一個字符串,我想輸入密碼並在頁面中點擊一個按鈕,當視圖加載時自動。UIWebView,輸入密碼

任何幫助?

回答

2

如果你使用一個UIWebView,我假設你加載一些網絡服務成的WebView。爲什麼不建立你的登錄系統到Web服務?你甚至可以使用HTTP基本身份驗證。

如果你正在管理你的cocoa應用程序中的密碼,那麼我可能會用一個UITextField實現一個UIAlertView來詢問密碼。當用戶按下Login時,您可以驗證密碼,然後在您的UIWebView中加載您的Web服務。

如果你正在管理網站數據庫中的密碼,那麼你會建立一個html/js/php/mysql登錄表單,並首先將其加載到UIWebView中。

更新

我會去的第一個選項,並使用像2個UITextFields的UIAlertView中可可控件顯示自己的登錄表單。然後,您可以使用鑰匙串服務保存用戶名和密碼,並在用戶每次啓動應用程序或Web會話過期時提交它們。

如果你想嘗試這種方法,我會建議看看ASIHTTPRequest框架。特別是ASIFormDataRequest,讓您輕鬆發送帶有正確字段的表單。

- (void)login 
{ 
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

    // Change these values to the ones in NSUserDefaults and the KeyChain 
    [request setPostValue:@"Joe" forKey:@"username"]; 
    [request setPostValue:@"Secret" forKey:@"password"]; 

    [request setDelegate:self]; 
    [request startAsynchronous]; 
} 

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 
    // Use when fetching text data 
    NSString *responseString = [request responseString]; 

    // Use when fetching binary data. 
    NSData *responseData = [request responseData]; 
} 

- (void)requestFailed:(ASIHTTPRequest *)request 
{ 
    NSError *error = [request error]; 
} 
+0

我正在加載的網站是不是由我主持的。密碼和用戶名先前輸入到UITextField中,並存儲在NSUserdefaults中。這是因爲節約方便和我必須在其他地方使用它們的事實。我只是在UIWebView中加載頁面。 – Hidde 2011-04-30 10:31:44

+0

@Hidde,網站是否需要用戶名和密碼?我想我想知道的是你試圖用這個登錄表單保護的是什麼。特別是如果該網站不是你自己的? – Ben 2011-04-30 10:37:48

+0

該網站是:http://leerling.degoudsewaarden.nl/。我想要做的是使用用戶在應用中存儲的用戶名和密碼登錄,以向他/她顯示密碼後面的頁面。用戶也可以自己登錄,但我希望通過自動登錄來讓應用更易於使用。 – Hidde 2011-04-30 14:15:33

1

只是一個想法:你可以嘗試添加一些JavaScript的網頁之前,顯示它並使用ONLOAD事件來填充密碼字段和張貼表單。

要做到這一點,你有2個解決方案:

  • 使用的UIWebView的stringByEvaluatingJavaScriptFromString實例方法,你可以評估例如webViewDidFinishLoad委託方法您的JavaScript。在這裏你會找到一個例子:http://iphoneincubator.com/blog/windows-views/how-to-inject-javascript-functions-into-a-uiwebview

  • 或者,如果由於某種原因,你不能使用你的背景下,這個解決方案,您可以隨時下載使用NSURLConnection的HTML中,然後編輯插入您的JavaScript字符串。然後加載使用的WebView loadHTMLString:基本URL:

+0

鋤頭我可以添加JavaScript到一個頁面?如果可以的話,那將是答案:D – Hidde 2011-04-30 10:15:25

+0

我編輯了我的答案以添加一些解釋,希望這可以解決您的問題。 – vdaubry 2011-04-30 12:46:40

+0

我會研究一下,並嘗試一下。我會標記答案,如果它的工作!謝謝! – Hidde 2011-04-30 14:16:16