UIWebview 不会通过基本身份验证加载动态加载的资源(通过 jQuery 移动)

Posted

技术标签:

【中文标题】UIWebview 不会通过基本身份验证加载动态加载的资源(通过 jQuery 移动)【英文标题】:UIWebview won't load dynamically loaded resources (via jQuery mobile) over basic authentication 【发布时间】:2012-09-07 09:08:09 【问题描述】:

有点混乱,不确定解决方案(或问题)的来源。

我正在使用 UIWebviews 和 Jquery Mobile 创建一个 iPad 应用程序。我必须通过基本身份验证访问我的网络资源。我已将 UIWebview 设置为通过 HTTP 请求正确发送我的登录凭据,并且所有资源和页面所需的资源(CSS、javascript 等)都正确加载....

...除了那些通过 Javascript 动态加载的资源。

我使用 Modernizr 加载 CSS 文件,使用 JQuery 加载 .JSON 文件,当通过 webView 访问我的页面时,这些文件都没有加载。 (当我直接通过 Safari 访问该页面时,它工作正常)。

我猜这是一个 Xcode / ios 问题,但我不知道从哪里开始。

任何帮助/指针都会很棒!

【问题讨论】:

【参考方案1】:

可以在这里找到答案:How to do authentication in UIWebView properly?

报价解决方案:

    NSString* login = @"MYDOMAIN\\myname";
    NSURLCredential *credential = [NSURLCredential credentialWithUser:login
                                                             password:@"mypassword"
                                                          persistence:NSURLCredentialPersistenceForSession];

    NSURLProtectionSpace *protectionSpace = [[NSURLProtectionSpace alloc]
                                             initWithHost:@"myhost"
                                             port:80
                                             protocol:@"http"
                                             realm:@"myhost" // check your web site settigns or log messages of didReceiveAuthenticationChallenge
                                             authenticationMethod:NSURLAuthenticationMethodDefault];


    [[NSURLCredentialStorage sharedCredentialStorage] setDefaultCredential:credential forProtectionSpace:protectionSpace];
    [protectionSpace release];    

【讨论】:

以上是关于UIWebview 不会通过基本身份验证加载动态加载的资源(通过 jQuery 移动)的主要内容,如果未能解决你的问题,请参考以下文章

如何在不加载空页面的情况下清理 UIWebView 的内容?

如何在 UIWebView 中显示身份验证质询?

通过身份验证从动态内容提供者加载 html5 音频

通过身份验证从动态内容提供程序加载html5音频

使用 iPhone UIWebView 时的 Asp.Net 表单身份验证

如何在 UIWebView 中访问公共 Facebook 个人资料