我一直在尝试将网址http://friscotxcoc.weblinkconnect.com/cwt/External/WCPages2/wcevents/eventsstartpage.aspx?oe=true&ce=true加载到网页视图中,但它显示错误“未找到实体”。 该链接在Safari(机器以及模拟器)上正常工作,但在通过webview加载时无法正确加载。有人能指出我该怎么做吗?
#define kEventsCalenderLink @"http://friscotxcoc.weblinkconnect.com/cwt/External/WCPages2/wcevents/eventsstartpage.aspx?oe=true&ce=true"
NSURL *eventsURL = [NSURL URLWithString:kEventsCalenderLink];
eventsWebView.delegate = self;
[eventsWebView loadRequest:[NSURLRequest requestWithURL:eventsURL]];
答案 0 :(得分:2)
服务器正在将具有Content-Type为“application / xhtml + xml”的页面提供给Safari的Simulator版本。 Safari将页面解释为严格的XML,它没有
实体。
不幸的是,UIWebView在幕后操纵它的HTTP标头,而且似乎无法将其配置为发出一个请求,使您的服务器以“text / html”的形式提供内容
我建议的一种解决方法是使用NSURLConnection
检索内容,然后使用loadData:MIMEType:textEncodingName:baseURL:
方法将其提供给您的网络视图,确保将“text / html”作为MIME传递类型。
这也可能需要通过webView:shouldStartLoadWithRequest:navigationType:
委托方法拦截未来的请求(为了取消它们并以上述方式加载它们以防止出现类似问题)。
或者,如果您可以控制服务器,则可以将其配置为使用适当的内容类型提供HTML。或者转换内容以使用适当的XML实体。
答案 1 :(得分:1)
以这种方式做到:
NSString *kEventsCalenderLink @"http://friscotxcoc.weblinkconnect.com/cwt/External/WCPages2/wcevents/eventsstartpage.aspx?oe=true&ce=true"
NSLog(@"%@",kEventsCalenderLink);
eventsWebView.delegate = self;
eventsWebView.userInteractionEnabled = true;
[eventsWebView loadRequest:[[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:kEventsCalenderLink]]];
您只定义了未提及的字符串类型的网址。
答案 2 :(得分:0)
以下是我实施的示例代码。希望它可以帮助您
- (void)loadView
{
UIView *vew=[[UIView alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
self.view=vew;
//self.title=@"sanjay";
//self.navigationItem.title=@"afdsfasd";
self.view.backgroundColor=[UIColor redColor];
[vew release];
UIButton *smsbtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
smsbtn.frame=CGRectMake(50, 280, 100, 50);
[smsbtn setTitle:@"SMS APP" forState:UIControlStateNormal];
[smsbtn setTitleEdgeInsets:UIEdgeInsetsZero];
[smsbtn addTarget:self action:@selector(loadsms) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:smsbtn];
}
-(void)loadsms
{
NSString *url = [NSString stringWithFormat:@"http://friscotxcoc.weblinkconnect.com/cwt/External/WCPages2/wcevents/eventsstartpage.aspx?oe=true&ce=true"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]];
}
这段代码很有用。试试看。我已经为你实现了这个。