来自 Objective C 的 javascript 脚本标题

标签 javascript objective-c uiwebview nsstring

我试图从 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/

相关文章:

ios - 如何在成功登录 UIWebView 后重定向回应用程序

ios - 无法在 UIWebView 中显示键盘

ios - 如何在 Document 目录中使用 UIWebview 打开和查看 iphone 中的 .doc、.docx、.rtf、.ppt、.pptx、.xlsx、.xls 文件?

javascript - append 和 addClass 动画失败

javascript - 如何将从这些输入字段收集的文本转换为 Javascript 中的小写字母?

javascript - 如何更改按键释放时的图像

objective-c - NSTextField - 子类化和 drawRect 导致文本不加载

javascript - 获取表中标题区域下方的滚动条。注意 : Table wont have thead and tbody

ios - UITableView 在移出屏幕之前不会完全填充单元格

iOS6/iOS 7 UIView 透明度