我试图从 Objective C 调用一个简单的 javascript 标题。但是标题总是返回为空。如果我将字符串更改为随机字符串,标题将返回随机字符串。这意味着我做错了 [webView]?有什么问题吗?谢谢
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Add code to open bundled Web site
NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
NSString *path = @"http://www.test.net";
NSURL *url = [NSURL URLWithString:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
NSLog(@"%@",title);
// Override point for customization after application launch
[window makeKeyAndVisible];}
最佳答案
您在 webview 加载页面之前就评估了该 javascript。
您应该为您的 UIWebView 设置一个委托(delegate)。然后委托(delegate)应该实现 webViewDidFinishLoad:
当调用该委托(delegate)方法时,您可以确定页面已加载,然后您将能够获取标题。
关于来自 Objective C 的 javascript 脚本标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4310405/