我正在尝试创建一个菜单栏应用程序来显示该网站的收件箱。我想制作一个简单的功能,打开一个带有项目网址的小弹出窗口(无需打开 safari)。收件箱项目看起来像这样
struct InboxItem: View {
@State var MesgSite: String = "https://duckduckgo.com"
@State private var showSafari = false
var body: some View {
VStack(alignment: .leading) {
Text("some text")
.background(SelectColor.opacity(0.5))
.onLongPressGesture {
//show preview of the MesgSite here
self.SelectColor = .blue
self.showSafari.toggle()
}.popover(isPresented: self.$showSafari) {
SafariPreview()
}
}
}
struct SafariPreview: View {
var body: some View {
VStack {
Text("Display the webpage here")
.padding()
}.frame(maxWidth: 533, maxHeight: 300)
}
}
Run Code Online (Sandbox Code Playgroud)
我想,当一个人长按该项目时,它应该预览关联的网页,就像 macOS 上的默认邮件应用程序一样,如下所示:
现在弹出窗口可以工作了
我尝试在 a 中添加 awkwebview和 …
我正在使用WKWebview开发简单的Web浏览器.我可以通过自定义Javascript检测何时在SPA中更改了网址,例如trello.
这种方式在放大器页面中不起作用.(谷歌的加速移动页面)我尝试print("webView.url")了所有的WKNavigationDelegate功能但我无法检测到的变化amp page url.
但webView有放大器页面网址,我想将放大器页面网址保存到本地商店.
我有一个显示网络视图的基本列表。我想添加一个在网页加载时显示的活动指示器。这是我创建的代码。
import SwiftUI
import WebKit
struct WebView: UIViewRepresentable {
var url: String
// makeUIView func
func makeUIView(context: Context) -> WKWebView {
guard let url = URL(string: self.url) else {
return WKWebView()
}
let request = URLRequest(url: url)
let wkWebView = WKWebView()
wkWebView.load(request)
return wkWebView
}
// updateUIView func
func updateUIView(_ uiView: WKWebView, context: Context) {
}
}
struct WebView_Preview: PreviewProvider {
static var previews: some View {
WebView(url: "https://www.google.com")
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢你!