javascript - 使用 WKWebView 在 swiftui 中执行 javascript confirm

标签 javascript swift swiftui wkwebview

我目前正在尝试将 Rails 应用程序包装在 Web View 中,以便获得 native 推送通知功能。我在尝试弄清楚如何在使用 swiftui 时让 javascript 确认和警报正常工作时遇到了麻烦。

这是我到目前为止得到的:

import SwiftUI
import WebKit

struct ContentView: View {
    var body: some View {
        WebView().edgesIgnoringSafeArea(.all)
    }
}

struct WebView: UIViewRepresentable {
  func makeUIView(context: Context) -> WKWebView {
    let webView = WKWebView()
    return webView
  }

  func updateUIView(_ webView: WKWebView, context: Context) {
    let appUrl = "http://localhost:3000"

    if let url = URL(string: appUrl) {
       let request = URLRequest(url: url)
       webView.load(request)
    }
  }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

这可以加载应用程序,除警报和确认对话框外,一切似乎都正常。

最佳答案

我最终选择了 https://github.com/lazaronixon/react-native-turbolinks .至少现在我可以只使用 javascript 而不是学习 swift 和 kotlin/java。

关于javascript - 使用 WKWebView 在 swiftui 中执行 javascript confirm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59368618/

相关文章:

javascript - 如何从网格构建唯一值列表?

javascript - 带复选框数组的 Form.Serialize

javascript - 无法弄清楚如何返回回调函数 - 需要替代解决方案

ios - SwiftUI 从 CoreData 设置初始选择器值

swift - 在 swift 5.1 类中使用属​​性包装器时出错

swift - 当父 View 带有标题时如何在 SwiftUI 中隐藏导航栏

javascript - React-Native Webview 使用音频播放器可以吗?

swift - Alamofire validate() 的增强

swift - Firestore : How to set security on object types with users as field names

arrays - 没有引用循环的swift中的方法数组