gpt4 book ai didi

javascript - 如何从 html/javascript 调用 MainViewController.h 方法? (IOS 手机间隙)

转载 作者:行者123 更新时间:2023-11-29 03:23:59 25 4
gpt4 key购买 nike

我是 IOS phonegap 的新手。在我的应用程序中,我需要从我的应用程序发送邮件。所以我正在使用“mailto”功能,它工作正常但问题是在发送邮件后它没有返回到我的应用程序它只留在邮件应用程序中。我该如何解决这个问题。

如果我使用下面的代码而不是“mailto”来发送邮件,我如何通过单击按钮从我的 html/javascript 链接到“Mainviewcontroller.h”。以及如何将参数从 javascript/html 传递到“Mainviewcontroller.h”类。

NSString *subject = @"Message subject";
NSString *body = @"Message body";
NSString *address = @"test1@akosma.com";
NSString *cc = @"test2@akosma.com";
NSString *path = [NSString stringWithFormat:@"mailto:%@?cc=%@&subject=%@&body=%@", address, cc, subject, body];
NSURL *url = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];

请给我一些建议或指导我一些好的教程来解决我的问题。

提前致谢..

最佳答案

如果不使用 UIWebView,则无法从 JavaScript 调用 Objective C 方法。

您可以使用 UIWebView 来实现,如下所示:

在你的 JavaScript 文件中:

...
window.location.href = "doSomething;";
..

编辑:

在你的 MainViewController.m 中,你可以添加一个“假的”UIWebView,在 MainViewController.m 的 viewDidload 中是这样的:

 - (void)viewDidLoad{
UIWebView *webView = [UIWebView alloc] init];
webView.hidden = YES;
webView.delegate = self;
[sel.view addSubView:webView];

// Know you should load the JavaScript witch contain the script.
[webView loadHTMLString:...];
}

MainViewController 符合 UIWebViewDelegate

现在在您的 UIWebViewDelegate ( MainViewController.m) 对象中:

 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

if ([request.URL.absoluteString isEqualToString:doSomething]) {
// Here you can call what you want
return NO;
}
return YES;
}

关于javascript - 如何从 html/javascript 调用 MainViewController.h 方法? (IOS 手机间隙),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20717114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com