BrowserKit

Swift Version

OS Platforms

Licence

BrowserKit 是一个 Swift 包,它提供了一种简单而灵活的方式,将 Web 视图集成到你的 iOS、macOS 和 visionOS 应用程序中。它支持 SFSafariViewController,可在 iOS 上实现无缝的 Web 浏览体验,以及支持 WKWebView,可在跨平台上处理自定义 Web 内容。

特性

安装

Swift Package Manager

要将 BrowserKit 添加到你的项目中,请使用 Swift Package Manager。

  1. 在 Xcode 中打开你的项目。

  2. 转到 File > Add Packages

  3. 在搜索栏中,输入 BrowserKit 仓库的 URL。

    https://github.com/markbattistella/BrowserKit
  4. 点击 Add Package

用法

基本示例

使用 Safari 加载 URL

你可以在 iOS、visionOS 和 Catalyst 平台上使用 SFSafariViewController 加载 URL。

import BrowserKit

struct ContentView: View {
    var body: some View {
        WebView(url: URL(string: "https://markbattistella.com")!)
    }
}

使用 WebKit 加载 URL

对于自定义 Web 内容处理,你可以在任何平台上使用 WKWebView

import BrowserKit

struct ContentView: View {
    var body: some View {
        WebView(url: URL(string: "https://markbattistella.com")!, webKitConfiguration: { config in
            config.preferences.javaScriptEnabled = true
        }, webViewConfiguration: { webView in
            webView.navigationDelegate = self // Set your custom navigation delegate
        })
    }
}

加载 HTML 内容

你还可以将原始 HTML 内容加载到 WKWebView 中。

import BrowserKit

struct ContentView: View {
    var body: some View {
        WebView(htmlString: "<html><body><h1>Hello, World!</h1></body></html>")
    }
}

自定义

Safari 配置

你可以使用 safariConfiguration 闭包自定义 Safari 视图控制器的配置。

WebView(url: URL(string: "https://markbattistella.com")!) { sfConfiguration in
    sfConfiguration.entersReaderIfAvailable = true
}

WebKit 配置

你还可以自定义 WKWebViewConfigurationWKWebView 本身。

WebView(
    url: URL(string: "https://markbattistella.com")!,
    webKitConfiguration: { wkConfig in
        wkConfig.allowsInlineMediaPlayback = true
    },
    webViewConfiguration: { webView in
        webView.customUserAgent = "MyCustomUserAgent"
    }
)

贡献

欢迎贡献!如果你有建议或改进,请 Fork 仓库并提交 Pull Request。

许可证

BrowserKit 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。