0
我在下面的代碼中調用了javascript,它工作正常,然後我在HTML中添加了那個javascript,當我在IF條件下檢查URL方案失敗時。ios - 如何在iOS中聲明JavaScript?
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
if(_data)
{
NSString* content = [[NSString alloc] initWithData:_data
encoding:NSUTF8StringEncoding];
[_data release];
_data = nil;
NSString *jsString = @"<script type='text/javascript'>\
window.external =\
{\
'Notify': function(s) { document.location = 'acs://settoken?token=' + s; },\
'notify': function(s) { document.location = 'acs://settoken?token=' + s; }\
}\
</script>";
content = [jsString stringByAppendingString:content];
[webView loadHTMLString:content baseURL:_url];
}
}
- (BOOL)webView:(UIWebView *)webView
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType
{
if(_url)
{
if([_url isEqual:[request URL]])
{
return YES;
}
[_url release];
}
_url = [[request URL] retain];
NSString* scheme = [_url scheme];
//Here I'm checking the condition
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;
}
任何想法?提前致謝。
感謝您的寶貴答覆 – 2013-05-03 07:35:06
歡迎我親愛的朋友。 – Balu 2013-05-03 07:35:38
我聲明瞭這樣的,但它是越來越超出範圍的NSString * jsString = [webView的stringByEvaluatingJavaScriptFromString:@「的window.external = \ \t \t {\ \t \t '通知':功能(S){document.location =' ACS:// settoken標記=」 + S;},\ \t \t '通知?':功能(一個或多個){document.location = 'ACS:// settoken標記=' + S;} \ \t \t} 「]; \t \t \t \t 內容\t = [jsString stringByAppendingString:內容]; – 2013-05-03 07:35:44