【问题标题】:How to close WKWebView via javascript on the site?如何通过网站上的 javascript 关闭 WKWebView?
【发布时间】:2022-01-25 00:12:53
【问题描述】:

我有一个完成的应用程序。我无法在注册结束时实现从注册中关闭 VKWebView。由于我在镜头中没有遇到过这个 - p.

WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];

        WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:theConfiguration];
        webView.navigationDelegate = self;
        webView.customUserAgent = "Cron";
        [self.view addSubview:webView];

        NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://myUrl"]];
        [webView loadRequest:request];

【问题讨论】:

  • 嗨@A 你能详细解释一下你需要知道什么吗?阅读您的问题,我了解到您想从 Javascript 中关闭一个 iOS 对象(WKWebView),但似乎还不够清楚。
  • 例如在 Kotlin 中,我可以将一个函数传递给接口,一个在我需要使用 js 进行时关闭 WebView 的函数。以及它是如何发生在客观主义者身上的——我不明白。

标签: javascript objective-c


【解决方案1】:

为了与 WKWebView 交互,您可以使用它们的 javascript 函数。

在 WKWebView 完成加载后(例如通过委托),你可以使用 evaluateJavascript 函数来触发 Web 或 iOS 代码中的任何事件。

例如:

[self.webview evaluateJavaScript:@"var foo = 1; foo + 1;" completionHandler:^(id result, NSError *error) {
    if (error == nil)
    {
        if (result != nil)
        {
            NSInteger integerResult = [result integerValue]; // 2
            NSLog(@"result: %d", integerResult);
        }
    }
    else
    {
        NSLog(@"evaluateJavaScript error : %@", error.localizedDescription);
    }
}];

javascript函数是:

var foo = 1; foo + 1;

你可以在objective-c端设置任何javascript函数,或者在web端调用任何函数。

例如,如果您的网站中有一个名为:

func closeWeb()

你必须像这样设置函数:

[self.webview evaluateJavaScript:@"closeWeb();" completionHandler:^(id result, NSError *error) {
    if (error == nil)
       // Code for success
    } else {
        NSLog(@"evaluateJavaScript error : %@", error.localizedDescription);
    }
}];

【讨论】:

  • 事实证明,从客观 - 我调用 js,但我需要它相反)
  • 是的,和Kotlin一样,就是javascritpt中的函数:var foo = 1;富 + 1;请查看答案中的编辑。
  • aaa) 非常感谢))
  • 不客气,伙计...如果您觉得答案有用,请投票或将其标记为正确答案。 Thant 也会帮助其他用户。
  • 对不起,我误会了。 js需要调用目标函数-с。而不是js形式写的函数。
猜你喜欢
  • 1970-01-01
  • 2022-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
  • 2011-03-18
  • 2013-03-03
  • 2021-05-17
相关资源
最近更新 更多