WKWebView how to work with javascript

教學連結

Memo

  • WKWebView 呼叫 javascript function

    • 利用 - evaluateJavaScript:completionHandler:

      // 将分享结果返回给js
      NSString *jsStr = [NSString stringWithFormat:@"shareResult('%@','%@','%@')",title,content,url];
      [self.webView evaluateJavaScript:jsStr completionHandler:^(id _Nullable result, NSError * _Nullable error) {
        NSLog(@"%@----%@",result, error);
      }];
  • javascript 向 WKWebView 傳值

    • 蘋果在WKWebView 中的js runtime 裡事先註入了一個window.webkit.messageHandlers.OOXX.postMessage() 方法,我們可以使用這個方法直接向Native 層傳值,異常方便。

    • 使用Safari 的WebAPP 開發工具,在當前頁面執行 js 傳值代碼

    // native App 將收到 name 為 OOXX,body 為 Hello WebKit!:
    window.webkit.messageHandlers.OOXX.postMessage("Hello WebKit!")

Last updated