Ios SwiftUI:WebView没有';不加载特定页面
我尝试在我的WebView中加载url,它可以很好地使用“https://www.google.com“,但它不适用于”https://www.sl.se". 它显示“未找到,HTTP错误404:未找到请求的资源” 奇怪的是,如果我在谷歌页面上搜索“sl.se”,点击sl.se,“www.sl.se”就可以加载网络视图。有人知道原因吗 ContentView.swiftIos SwiftUI:WebView没有';不加载特定页面,ios,webview,swiftui,Ios,Webview,Swiftui,我尝试在我的WebView中加载url,它可以很好地使用“https://www.google.com“,但它不适用于”https://www.sl.se". 它显示“未找到,HTTP错误404:未找到请求的资源” 奇怪的是,如果我在谷歌页面上搜索“sl.se”,点击sl.se,“www.sl.se”就可以加载网络视图。有人知道原因吗 ContentView.swift // ContentView.swift struct ContentView: View { @State pr
// ContentView.swift
struct ContentView: View {
@State private var shouldRefresh = false
var body: some View {
VStack{
Button(action: {
self.shouldRefresh.toggle()
}){
Text("Reload")
}
WebView(url: nil, reload: $shouldRefresh)
}
}
}
WebView.Swift
// WebView.swift
import WebKit
import SwiftUI
struct WebView: UIViewRepresentable{
var url: URL? // optional, if absent, one of below search servers used
@Binding var reload: Bool
private let urls = [URL(string: "https://google.com/")!, URL(string: "https://www.sl.se")!]
private let webview = WKWebView()
fileprivate func loadRequest(in webView: WKWebView) {
if let url = url {
webView.load(URLRequest(url: url))
} else {
let index = Int(Date().timeIntervalSince1970) % 2
print("load: \(urls[index].absoluteString)")
webView.load(URLRequest(url: urls[index]))
}
}
func makeUIView(context: UIViewRepresentableContext<WebView>) -> WKWebView {
loadRequest(in: webview)
return webview
}
func updateUIView(_ uiView: WKWebView, context: UIViewRepresentableContext<WebView>) {
if reload {
loadRequest(in: uiView)
DispatchQueue.main.async {
self.reload = false // must be async
}
}
}
}
//WebView.swift
导入WebKit
导入快捷键
结构WebView:UIViewRepresentable{
var url:url?//可选,如果不存在,则使用以下搜索服务器之一
@绑定变量重载:Bool
私有let URL=[URL(字符串:”https://google.com/“”),URL(字符串:https://www.sl.se")!]
私有let webview=WKWebView()
fileprivate func loadRequest(在webView:WKWebView中){
如果让url=url{
加载(url请求(url:url))
}否则{
让index=Int(Date().timeIntervalSince1970)%2
打印(“加载:\(URL[index].absoluteString)”)
load(url请求(url:url[index]))
}
}
func makeUIView(上下文:UIViewRepresentableContext)->WKWebView{
loadRequest(在:webview中)
返回webview
}
func updateUIView(uiView:WKWebView,context:UIViewRepresentableContext){
如果重新加载{
loadRequest(在:uiView中)
DispatchQueue.main.async{
self.reload=false//必须是异步的
}
}
}
}
您的代码没有问题。您只需从URL中删除www
。试试https://sl.se
它会工作的