我正在构建一个使用WebView显示自定义数据表单的Mac OS本机应用程序。用户将能够填写这些表单以将数据输入到应用程序。我需要能够捕获作为这些html表单的一部分提交的任何数据。
因此,例如,如果出现一个webform,其中包含一个文本字段,用户可以使用该字段输入一个名称 - 以及' OK'提交数据的旁边的按钮 - 我需要能够捕获用户在该文本字段中输入的内容。
请记住,HTML是在本地加载的,而不是从URL加载的。像这样: [[webview mainFrame] loadHTMLString:htmlSource baseURL:nil];
如何捕获以这种方式输入的任何数据?
答案 0 :(得分:0)
这可以通过拦截表单的submit
并跟踪数据在javascript中轻松完成。对于这个答案,我假设您的网页使用jQuery:
[webView stringByEvaluatingJavaScriptFromString:@" \
$('#yourForm').on('submit', function(e){ \
console.log(JSON.stringify($(this).serializeArray()));\
});"];
如果您需要Objective-C代码中的此信息,this thread描述了如何在javascript和Obj-C之间桥接调用