ios – 如何使用HTML内容附加javascript?

我正在尝试获取访问令牌,我正在按照此链接获取,但有些条件失败,我认为没有正确附加带有HTML内容的JavaScript。

- (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]; [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]; } //Here am getting http://LoginSuccess.aspx _url = [[request URL] retain]; NSString* scheme = [_url scheme];//Here am getting http //So here condition fails if([scheme isEqualToString:@"acs"]) { // parse the JSON URL parameter into a dictionary _url = [NSURL URLWithString:@"https://converse.accesscontrol.windows"]; 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; } 

有任何想法吗? 提前致谢。

我不确定我是否完全忘记了你要做的事情,但我认为

 [UIWebView stringByEvaluatingJavaScriptFromString:@"yourJavaString"]; 

有帮助。 我用它在我的一个项目中执行基于JavaScript的Loginmechanism。

请在此处查看Apple文档。

您必须在WebView加载后使用stringByEvaluatingJavaScriptFromString。