xcode - WKWebView Mac 浏览器启用全屏 html5?

标签 xcode macos html5-video fullscreen wkwebview

我用 Swift 最新版本和 xcode 8.3.3 制作了一个简单的浏览器。 我希望能够在有 html5 视频(例如 youtube 上)时全屏输入。 我现在在 YouTube 上看到“全屏不可用”。 与旧的 WebView 存在同样的问题...在 iOS 上它可以工作。

编辑。也许这是不可能的。我尝试查看 JavaFX WebView 和 WPF WebBrowser,它们也有相同的限制。实际上,有人能够在 WPF WebBrowser 上全屏显示 YouTube 视频,但只能通过创建完整的 html 页面来实现: Playing youtube in full screen in WebBrowser control

当然,我无法为页面中的每个视频创建一个网页(至少我不知道如何做,如果你知道请告诉我)。

<小时/>

原始消息: 我用 Swift 最新版本和 xcode 8.3.3 制作了一个简单的浏览器。 一切正常,但我无法像使用旧 WebView 那样激活插件。 因为我使用的是 Mac,所以我应该能够激活插件(我知道这在 iOS 上是不可能的),我错了吗?

此外(我在旧的 WebView 中遇到了同样的问题)无法激活 html5 视频的全屏(至少我不知道如何)。

@IBOutlet weak var webView: WKWebView!
let urlString = "http://myurl.com/"
self.webView.load(NSURLRequest(url: NSURL(string: urlString)! as URL) as URLRequest!)
self.webView.configuration.preferences.plugInsEnabled = true

这是让基本浏览器正常工作的真正基本代码。但是 WKWebView 的 Interface Builder 中没有启用插件的选项,我真的不知道如何允许全屏 html5 视频(如 youtube)。

编辑。好吧,我终于找到了插件部分的答案: self.webView.configuration.preferences.plugInsEnabled = true

真的很容易,但很难理解在哪里可以找到它,我不得不去这里: https://developer.apple.com/documentation/webkit/webpreferences 并猜测...

最佳答案

macOS 12.3 更新

iOS 15.4ma​​cOS 12.3 开始,WKPreferences 具有新属性 isElementFullscreenEnabled。现在就很简单了:

myWebView.configuration.preferences.isElementFullscreenEnabled = true

原始答案(macOS 12.3 之前)

您可以通过在配置中使用 KVO 更改属性来实现此目的,而不是使用私有(private) API。

使用 Swift 5:

let configuration = WKWebViewConfiguration()
configuration.preferences.setValue(true, forKey: "fullScreenEnabled")
let webView = WKWebView(frame: .zero, configuration: configuration)

在 macOS 10.15 和 11 上测试

关于xcode - WKWebView Mac 浏览器启用全屏 html5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44988219/

相关文章:

python - 采样/分析 PyObjC 应用程序的最佳方法是什么?

firefox - html5media 库不适用于 FF 3.6.3

java - WebRTC java 服务器问题

iphone - xcode 4 无缘无故提示 key 是 'undeclared identifier'

ios - 解决 swift 和 xcode 6.4 beta 中的 Apple Mach-O 链接器错误

macos - 在 Mac 上安装多个版本的 XAMPP

macos - 在 mac os x 上安装 rvm 挂起

javascript - html5视频标签中的播放事件

对 xcode 12 的 c++20 库支持

ios - 多个 UICollectionViewCell 颜色一起更改问题