Gmail 또는 Yahoo!에 로그인 한 후 JSON URL을 확인하려고하지만 조건이 실패하면 아래 코드를 시도합니다.ios - ios에서 자바 스크립트를 호출하는 방법은 무엇입니까?
그 올바른 선언 방법은? javascript
을 어떻게 선언할까요?
나는이 링크를하고있어,해야 그것을 http://www.stevesaxon.me/posts/2011/window-external-notify-in-ios-uiwebview/
- (BOOL)webView:(UIWebView *)webView
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType
{
//_url = [[NSURL alloc] initWithString:websiteUrl];
_url = [[NSURL alloc] initWithString:@"JSON URL"];
if(_url)
{
if([_url isEqual:[request URL]])
{
return YES;
}
[_url release];
}
_url = [[request URL] retain];
NSString* scheme = [_url scheme];
//Condition fails here after logged in
if([scheme isEqualToString:@"acs"])
{
// parse the JSON URL parameter into a dictionary
NSDictionary* pairs = [self parsePairs:[_url absoluteString]];
if(pairs)
{
WACloudAccessToken* accessToken;
accessToken = [[WACloudAccessToken alloc] initWithDictionary:pairs];
[WACloudAccessControlClient setToken:accessToken];
[self dismissModalViewControllerAnimated:YES];
}
return NO;
}
[NSURLConnection connectionWithRequest:request delegate:self];
return NO;
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
if(_data)
{
NSString* content = [[NSString alloc] initWithData:_data
encoding:NSUTF8StringEncoding];
[_data release];
_data = nil;
NSString *jsString = @"window.external =\
{\
'Notify': function(s) { document.location = 'acs://settoken?token=' + s; },\
'notify': function(s) { document.location = 'acs://settoken?token=' + s; }\
}";
content = [jsString stringByAppendingString:content];
//NSURL *url = [[NSURL alloc] initWithString:websiteUrl];
NSURL *url = [[NSURL alloc] initWithString:@"JSON URL"];
[webView loadHTMLString:content baseURL:url];
}
}
첫 번째 블록의 시작 부분에 {{_url = [[NSURL alloc] initWithString : @ "JSON URL"];}} 부분이 없습니다. 왜 거기에 그걸 맡기고 있니? – Amandir
URL은 Windows Azure에 등록되어 있습니다. 죄송합니다. 그 URL을 공유 할 수있는 권한이 없으므로 "JSON URL"을 부여한 것입니다. –