diff --git a/Reader/Screens/Read/ReadViewController.swift b/Reader/Screens/Read/ReadViewController.swift index 3945e18..70ac8a2 100644 --- a/Reader/Screens/Read/ReadViewController.swift +++ b/Reader/Screens/Read/ReadViewController.swift @@ -53,9 +53,7 @@ class ReadViewController: UIViewController { webView.navigationDelegate = self webView.uiDelegate = self if let content = itemContentHTML() { - // todo: using the bundle url is the only way to get the stylesheet to load, but feels wrong - // will break, e.g., images with relative urls - webView.loadHTMLString(content, baseURL: Bundle.main.bundleURL) + webView.loadHTMLString(content, baseURL: item.url) } view.addSubview(webView) @@ -68,6 +66,8 @@ class ReadViewController: UIViewController { } + private static let css = try! String(contentsOf: Bundle.main.url(forResource: "read", withExtension: "css")!) + private func itemContentHTML() -> String? { guard let content = item.content else { return nil @@ -100,7 +100,7 @@ class ReadViewController: UIViewController { - +
@@ -119,7 +119,7 @@ class ReadViewController: UIViewController { extension ReadViewController: WKNavigationDelegate { func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction) async -> WKNavigationActionPolicy { let url = navigationAction.request.url! - if url == Bundle.main.bundleURL { + if url == item.url { return .allow } else { present(SFSafariViewController(url: url), animated: true)