WebView 没有显示我的 html 文件
WebView not showing my html file
我的 ViewController 中有一个 webView。我在我的项目中创建了一个 BullsEye.html 文件,我想在我的 Web 视图中显示该 html 文件。以下是我的代码
if let url = Bundle.main.url(forResource: "BullsEye",
withExtension: "html") {
if let htmlData = try? Data(contentsOf: url) {
let baseURL = URL(fileURLWithPath: Bundle.main.bundlePath)
webView.load(htmlData, mimeType: "text/html",
textEncodingName: "UTF-8", baseURL: baseURL)
}
}
以上代码是在viewDidLoad中写的。我错过了什么?
下面的代码可以帮到你。
func loadHtmlFile() {
if let fileurl = Bundle.main.url(forResource: "BullsEye", withExtension: "html") {
let request = URLRequest(url: fileurl!)
webView.loadRequest(request)
}
}
参见 - swiftdeveloperblog
此外,如果代码似乎不适合您,请确保在任何浏览器中打开 html 文件并检查它是否是有效的 html 文件。
我 运行 你的代码是原样的,并且能够在更改 webView 加载程序代码后使事情像这里看到的那样工作。这告诉我你可能有一个 UIWebView 潜伏在某个地方,可能是你在故事板中的视图。
我建议您确保始终使用 WKWebView:
- 在您的 class 文件中导入
WebKit
- 如果您使用故事板
,请为其提供有效输出link
- 如果使用故事板,请确保您使用的是
WKWebView
而不是已弃用的 UIWebView
我认为你的源代码本身没有问题。
但也许 Bundle.main.url(forResource: "BullsEye", withExtension: "html")
return 没有?
如果是这样,您应该检查以下两件事:
Copy Bundle Resources中是否包含要读取的文件
要包含在项目中的文件已在 TARGETS> Build Phases> Copy Bundle Resources
中注册。
项目目录下是否存在要读取的文件
在 Finder 中打开项目目录并检查您尝试加载的文件是否实际存在。
希望对您有所帮助!
我的 ViewController 中有一个 webView。我在我的项目中创建了一个 BullsEye.html 文件,我想在我的 Web 视图中显示该 html 文件。以下是我的代码
if let url = Bundle.main.url(forResource: "BullsEye",
withExtension: "html") {
if let htmlData = try? Data(contentsOf: url) {
let baseURL = URL(fileURLWithPath: Bundle.main.bundlePath)
webView.load(htmlData, mimeType: "text/html",
textEncodingName: "UTF-8", baseURL: baseURL)
}
}
以上代码是在viewDidLoad中写的。我错过了什么?
下面的代码可以帮到你。
func loadHtmlFile() {
if let fileurl = Bundle.main.url(forResource: "BullsEye", withExtension: "html") {
let request = URLRequest(url: fileurl!)
webView.loadRequest(request)
}
}
参见 - swiftdeveloperblog
此外,如果代码似乎不适合您,请确保在任何浏览器中打开 html 文件并检查它是否是有效的 html 文件。
我 运行 你的代码是原样的,并且能够在更改 webView 加载程序代码后使事情像这里看到的那样工作。这告诉我你可能有一个 UIWebView 潜伏在某个地方,可能是你在故事板中的视图。
我建议您确保始终使用 WKWebView:
- 在您的 class 文件中导入
WebKit
- 如果您使用故事板 ,请为其提供有效输出link
- 如果使用故事板,请确保您使用的是
WKWebView
而不是已弃用的 UIWebView
我认为你的源代码本身没有问题。
但也许 Bundle.main.url(forResource: "BullsEye", withExtension: "html")
return 没有?
如果是这样,您应该检查以下两件事:
Copy Bundle Resources中是否包含要读取的文件
要包含在项目中的文件已在
TARGETS> Build Phases> Copy Bundle Resources
中注册。
项目目录下是否存在要读取的文件
在 Finder 中打开项目目录并检查您尝试加载的文件是否实际存在。
希望对您有所帮助!