6 html iphone skype objective-c uiwebview
我使用html在我的iPhone应用程序中使用Skype集成.当我加载页面时,它将显示用户是在线还是离线.当我按ONLINE按钮时,我的应用程序将关闭,Skype将打开.但是,当我按下OFFLINE按钮时,它会发生与上面相同的事情.我使用以下代码在webview中设计skype按钮,以显示用户和skype呼叫的Skype在线状态.
<a href="skype:arafa_futbal?call">
<img src="http://mystatus.skype.com/smallclassic/arafa_futbal" style="border: none;"
width="114" height="20" alt="My status" />
</a>
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在用户离线时禁用webview?
即,如果我按离线按钮,它不应该做任何事情..
这将解决你的问题。在nsurlconnection中调用url http://mystatus.skype.com/arafa_futbal.xml并获取xml数据并解析得到用户skype状态
NSURL *url = [NSURL URLWithString:@"http://mystatus.skype.com/arafa_futbal.xml"stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
[req addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[req addValue:0 forHTTPHeaderField:@"Content-Length"];
[req setHTTPMethod:@"GET"];
conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
if (conn) {
webData = [[NSMutableData data] retain];
}
-(void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
[webData setLength:0];
}
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[webData appendData:data];
}
-(void) connectionDidFinishLoading:(NSURLConnection *) connection {
xmlParser = [[NSXMLParser alloc] initWithData:webData];
[xmlParser setDelegate:self];
[xmlParser setShouldResolveExternalEntities:YES];
[xmlParser parse];
}
-(void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
}
-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if ([string isEqualToString:@"Offline"])
{
webview.userinteractionEnabled = NO;
}
if ([string isEqualToString:@"Online"])
{
webview.userinteractionEnabled = YES;
}
}
Run Code Online (Sandbox Code Playgroud)