mm2*_*m24 3 ios swift wkwebview
我已将以下html页面加载到由特定视图控制器控制的WKWebView中。加载视图后,我希望该应用程序自动在页面中填充输入文本字段。
在此示例中,我希望应用程序在下面表单的“结果”文本字段中写入“ Hello Result”。
<html>
<head>
<title>Test Page</title>
</head>
<body>
<form>
QR Result <input type="text" name="Result" width="20">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我将HTML页面作为文件加载到视图控制器中的代码:
var htmlFile = NSBundle.mainBundle().pathForResource("apptest", ofType: "html")
var contents = NSString(contentsOfFile: htmlFile!, encoding: NSUTF8StringEncoding, error: nil)
self.webView?.loadHTMLString(contents!, baseURL: nil)
Run Code Online (Sandbox Code Playgroud)
我如何加载视图(文件或URL)都没有关系。我想要做的是在加载视图后的某个时候填充字段。
Uttam Sinha的答案的wkwebview / swift等效。
webview.evaluateJavaScript("document.getElementById('result').value = 'Hello Result';", completionHandler: { (res, error) -> Void in
//Here you can check for results if needed (res) or whether the execution was successful (error)
})
Run Code Online (Sandbox Code Playgroud)
WKWebView的版本更好,因为它会在执行JS问题时提供错误反馈。
我在文本字段中添加了 id 属性 -
<form>
QR Result <input type="text" id="result" name="Result" width="20"/>
</form>
Run Code Online (Sandbox Code Playgroud)
在斯威夫特 -
func webViewDidFinishLoad(webView: UIWebView!) {
self.wbView.stringByEvaluatingJavaScriptFromString("document.getElementById('result').value = 'Hello Result';")
}
Run Code Online (Sandbox Code Playgroud)
检查截图 -

| 归档时间: |
|
| 查看次数: |
5285 次 |
| 最近记录: |