1

UIWebView 有点问题。我在 Interface Builder 中创建了我的 UIWebView,并创建了一个作为 tasksWebView 的插座。我还将它作为委托链接到我的视图控制器。我想加载http://www.taskyo.com,但是当我尝试加载它时,我只是得到一个白页。它在 Mobile Safari 中运行良好,所以我对问题所在感到困惑。更令人困惑的是,当我将http://www.taskyo.com替换为http://www.google.com时,它工作正常。如果我尝试通过 Google 访问http://www.taskyo.com,单击 URL 时会出现一个白页。我的代码如下:

头文件

#import <UIKit/UIKit.h>

@interface AppThirdViewController : UIViewController

@property (weak, nonatomic) IBOutlet UIWebView *tasksWebView;

- (IBAction)goBack:(id)sender;
- (IBAction)goHome:(id)sender;

@end

实施文件

#import "AppThirdViewController.h"

@interface AppThirdViewController ()

@end

@implementation AppThirdViewController
@synthesize tasksWebView = _tasksWebView;

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self goHome:self];
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    _tasksWebView = nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (IBAction)goBack:(id)sender
{
    [_tasksWebView goBack];
}

- (IBAction)goHome:(id)sender
{
    NSURL *tasksURL = [NSURL URLWithString:@"http:/www.taskyo.com/"];
    NSURLRequest *tasksRequest = [NSURLRequest requestWithURL:tasksURL];
    [_tasksWebView loadRequest:tasksRequest];
}

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    NSLog(@"Error : %@",error);
}

- (void)webViewDidStartLoad:(UIWebView *)webView
{
    NSLog(@"Started to load!");
}

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSLog(@"Finished loading!");
}

@end

在我的控制台中,我得到以下输出:

Started to load
Finished loading!

有人对这个问题有任何想法吗?提前致谢。

编辑:已修复 - 请参阅下面的答案。

4

4 回答 4

1

在撰写此答案时,Taskyo.com 不可用。(即使我的网络浏览器也无法打开您提供的链接)。

于 2012-06-07T13:35:32.700 回答
0

一种可能性是该站点的 JavaScript 或 HTML 无效。移动 Safari 可能没有使用您的应用程序所使用的确切库版本。例如,W3C 验证器显示您的页面存在几个问题:验证错误

您应该尝试的第一件事是将网页剥离为简单的“Hello World”消息,然后尝试添加回内容以查看问题所在。您也有可能从旧版本中获取过时的缓存 HTML。我喜欢添加一个带有递增值的“?rand=2”参数,以确保获得当前文件。

于 2012-06-07T14:09:30.130 回答
0

taskyo.com 是一个新域名吗?也许某些名称服务器还不知道。(这无法解释为什么您可以在 Mobile Safari 上打开该页面)。

于 2012-06-07T13:50:57.717 回答
0

经过更多测试,我意识到我的代码没有问题,而是实际的应用程序包本身存在问题。我从模拟器中卸载它并重建它,它现在可以工作了。感谢你的帮助!

于 2012-06-07T19:13:37.403 回答