1

我正在尝试加载一个UIWebView,但我不明白为什么不起作用,我正在这样做:

Loading *load = [[Loading alloc] init];
[load searchName];

然后加载.h

@interface Loading : NSObject <UIWebViewDelegate>
{
UIWebView *myWebView;
}

- (void) searchName;

加载.m

- (void) searchName{

myWebView = [[UIWebView alloc] init];
myWebView.delegate = self;

NSString *urlAddress = @"www.google.com";
//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];

//URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.
[myWebView loadRequest:requestObj];
}

- (void)webViewDidFinishLoad:(UIWebView *)thisWebView
{
NSString *yourHTMLSourceCodeString = [myWebView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];

NSLog(@"%@",yourHTMLSourceCodeString);
}

为什么从不调用webViewDidFinishLoad方法?

4

3 回答 3

0

你是用 IB 创建这个 webview 的吗?您是否将代理连接到网络视图?

  1. 尝试捕捉错误webView:didFailLoadWithError:(如果有错误,发布它们)
  2. 尝试使用代码设置委托[myWebView setDelegate:self];self.myWebView.delegate = self;

如果没有发生任何事情,请检查委托的输出:

self.myWebView.delegate = self;
NSLog(@"%@",self);
于 2012-12-27T02:25:34.987 回答
0

是的,请注意内森所说的话。我只是在扩展。

如果您使用的是 IB,请连接插座。然后使用 [myWebView setDelegate:self];

请务必使用http://. Http 本身不会做任何事情。

您可以加载其他 URL 吗?

最后,我有一个用于 Cocoa 的开源基本 Web 浏览器,您可以看看。

基本网页浏览器

于 2012-12-27T02:29:52.113 回答
0

未显示您的 webview 的原因是您已经NSObject上课并且NSObject课程没有,XIB并且您所做的方式只是调用您的-(void)searchName方法而不是将其添加到self.view.

于 2012-12-27T04:32:26.557 回答