如何在WKWebView使用Swift更改之前获取输入值?

时间:2016-02-23 07:55:31

标签: ios xcode swift wkwebview

我有一个在Swift中开发的基本iOS应用程序。我正在使用WkWebView加载我的网站,并且需要在更改页面之前获取输入值,以便我可以将其保存到NSUserDefaults

我可以使用以下内容简单地填充输入值:

 webView.evaluateJavaScript("document.getElementById('myInput').value = 'Test';") { (result, error) in
 if error != nil {
     print(result)
 }

虽然如何从WKWebView获取输入值?

1 个答案:

答案 0 :(得分:0)

尝试添加java脚本以捕获webview中的更改,并将数据异步发送到wkconfiguration委托以收集数据。

将JS添加到wkwebkit意味着很多控制,即使你也可以添加jquery。

这只是您可以创建想法的提示。

-

(void) addJSScriptToWebConfig
{
    NSString *JS = ...;
    WKWebViewConfiguration *webViewConfig = [[SBWKWebViewConfiguration sharedInstance] configuration];
    WKUserScript *script3 = [[WKUserScript alloc] initWithSource:JS injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
    [webViewConfig.userContentController addUserScript:script3];

    [webViewConfig.userContentController addScriptMessageHandler:self
                                                           name:@"callbackFunc"];