CSS 未在 WKWebView 中加载
Posted
技术标签:
【中文标题】CSS 未在 WKWebView 中加载【英文标题】:CSS not loading in WKWebView 【发布时间】:2019-03-11 08:00:12 【问题描述】:我正在尝试使用 UITabBarViewController 创建一个简单的 WebView 应用程序。当我使用标签栏时,CSS 不会加载。如果我使用简单的视图控制器,CSS 会加载。代码没有其他变化。
let request: NSMutableURLRequest = NSMutableURLRequest(url: myUrl)
if (webView != nil)
else
self.loadView()
self.webView.navigationDelegate = self
if (self.finishedUrl != myUrl.absoluteString)
webView.load(request as URLRequest)
【问题讨论】:
您在哪里添加了该 CSS 文件?你能展示你是如何将 CSS 添加到 html 中的吗?你把这两个文件放在同一个文件夹中了吗? 我没有单独加载 CSS。我只是在加载网页。该页面的 CSS 未加载 【参考方案1】:所以,我能够解决问题,问题是/
。如果您将 /
放在 url 的末尾,则不会加载 CSS。但是,如果你不把/
放在最后,CSS 就会被加载。
【讨论】:
【参考方案2】:替换您的if
条件,对nil
webview
执行操作没有意义。
if (webView != nil)
else
self.loadView()
self.webView.navigationDelegate = self
if (self.finishedUrl != myUrl.absoluteString)
webView.load(request as URLRequest)
应该是:
if (webView != nil)
self.loadView()
self.webView.navigationDelegate = self
if (self.finishedUrl != myUrl.absoluteString)
webView.load(request as URLRequest) // also make sure this is being executed.
【讨论】:
loadView() 是 ViewController 的覆盖方法。它实际上仅在 webView 为 nil 时运行。不管怎样,我也试过你的方法。不走运!!!【参考方案3】:我遇到了同样的问题。我的 styles.css 文件在 .HTML 文件中被引用,它直接在浏览器中加载效果很好。
我遇到的问题是我的 styles.css 没有包含在我的任何目标中。在我选中该框后,它加载得很好。
【讨论】:
【参考方案4】:我遇到了同样的问题,但这里没有任何帮助。解决方案是删除链接中的文件夹路径,即使它们位于我的 Bundle 中的这些文件夹中。
而不是这样:
<link rel="stylesheet" href="css/style.css" />
删除文件夹部分并留下这个:
<link rel="stylesheet" href="style.css" />
它奏效了。 .js 文件也是如此
【讨论】:
【参考方案5】:我遇到了同样的问题,并通过将资源添加为“创建文件夹实例”而不是“创建组”来解决它。
创建组为文件编制索引,但将其从其路径中剥离。通过调用文件名来调用文件(唯一的文件名在组中很重要)。 创建文件夹实例维护文件夹结构
参照。 Create groups vs Create folder reference in Xcode
【讨论】:
以上是关于CSS 未在 WKWebView 中加载的主要内容,如果未能解决你的问题,请参考以下文章