WKWebView无法通过键盘进行交互

时间:2018-11-28 12:10:19

标签: swift desktop-application wkwebview xcode10.1

一般来说,我对Swift和Apple开发都是陌生的(来自JS world)。我试图通过包装WKWebView做一个简单的桌面应用程序。 ViewController创建webView的部分工作正常。至少看起来是这样:它加载了一个网页:)

但是,当我单击任何输入字段时,我都无法写任何东西。在该字段中甚至没有可见的光标。

基本上只能使用鼠标/触摸板单击。 但是,将鼠标悬停在元素(例如按钮和文本字段)上时,鼠标光标不会改变。在我看来,网页上方有某种遮罩/层。点击会传播到页面本身,但不会传播到鼠标悬停和击键

应用程序中是否有任何特殊的项目设置/权限启用键盘? 如何使页面输入可编辑?

更多详细信息:

  • 点击文本框即可(它会根据焦点选择器更改边框颜色)
  • 在网络视图中单击<a>链接
  • 鼠标右键单击似乎有效(它显示复制/粘贴选项等)
  • 通过右键单击粘贴进入现场工作

代码:

import Cocoa
import SafariServices.SFSafariApplication
import WebKit

class ViewController: NSViewController, WKNavigationDelegate {

     @IBOutlet var ww: WKWebView!

     override func viewDidLoad() {
         super.viewDidLoad()

         ww.navigationDelegate = self
         ww.load(URLRequest(url: URL(string: "https://www.google.com")!))
         view = ww
    }
}

我的故事板: enter image description here

  • Ww是WebKit视图
  • Ww覆盖了所有View区域(通过鼠标拖放)

感谢您的任何回答或提示!

1 个答案:

答案 0 :(得分:0)

您的原始代码对我有用。您需要禁用沙盒功能:

enter image description here

禁用此功能后,我既可以加载Webview并与之交互。