首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >evaluateJavaScript快速为零

evaluateJavaScript快速为零
EN

Stack Overflow用户
提问于 2019-12-19 18:23:33
回答 2查看 709关注 0票数 0

请告诉我,我正在尝试从webview获取输入值。为什么我会得到"nil“。可能的问题是什么?下面提供的屏幕

下面提供的代码

代码语言: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()
    webView.scrollView.isScrollEnabled = false
    return webView
  }


  func updateUIView(_ webView: WKWebView, context: Context) {
    let liveView = "https://**/"
    if let url = URL(string: liveView) {
      let request = URLRequest(url: url)
      webView.load(request)
      webView.evaluateJavaScript("document.getElementById('ses').value") {
        (result, error) in
        print(result)
      }
    }
  }
}
EN

回答 2

Stack Overflow用户

发布于 2019-12-19 18:56:46

您需要等待页面加载。

代码语言:javascript
复制
let timer = Timer.scheduledTimer(withTimeInterval: 5.0, repeats: true) {
  (timer) in
  webView.evaluateJavaScript("document.getElementById('ses').value") {
    (result, error) in
    print(result!)
  }
}
票数 2
EN

Stack Overflow用户

发布于 2019-12-19 18:39:52

您的文档中似乎没有此元素。

代码语言:javascript
复制
// element exists
console.log(document.getElementById('demo').value)

// element doesn't exist
console.log(document.getElementById('foo'))
代码语言:javascript
复制
<div id="demo" value="demo-value">Demo</div>

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59407681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档