0
私のアプリからWebViewのボタンクリックイベントを処理できますか?WKWebview.Appからボタンクリックイベントを受け取ります
私のwkwebviewでFacebookのログインページを開いただけで、自分のアプリからそのログインボタンのイベントを処理することは可能ですか?
私のアプリからWebViewのボタンクリックイベントを処理できますか?WKWebview.Appからボタンクリックイベントを受け取ります
私のwkwebviewでFacebookのログインページを開いただけで、自分のアプリからそのログインボタンのイベントを処理することは可能ですか?
WKWebView
のnavigationDelegate
を使用してその動作を聴くことができます。あなたが実装する必要があるデリゲートメソッドは次のとおりです。
スウィフト
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Swift.Void)
{
let request = navigationAction.request; // Inspect this request to see if it's from Facebook
let policy = WKNavigationActionPolicyAllow or WKNavigationActionPolicyCancel depending if you want the request to continue firing or not
decisionHandler(policy);
}
のObjective-C
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
{
NSURLRequest *request = navigationAction.request; // Inspect this request to see if it's from Facebook
WKNavigationActionPolicy policy = WKNavigationActionPolicyAllow or WKNavigationActionPolicyCancel depending if you want the request to continue firing or not
decisionHandler(policy);
}
スウィフト2.itsはworking.Iは、ログインボタンのイベントを必要としない???。私はこれを実装しました。 FUNCのWebViewの(WebViewの:WKWebView、decidePolicyForNavigationAction navigationAction:WKNavigationAction、decisionHandler:((WKNavigationActionPolicy) - >ボイド)){ プリント( "のWebView:\(WebViewの)decidePolicyForNavigationAction:\(navigationAction)decisionHandler:\(decisionHandler)") decisionHandler(.Allow) } –