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 中加载的主要内容,如果未能解决你的问题,请参考以下文章

来自html字符串的iOS Swift 4图像未在WKWebView中加载

我的 CSS 页面未在 codeigniter 中加载

CSS未在Spring Boot中加载

CSS 未在 Chrome 中加载

CSS、图像、JS 未在 IIS 中加载

静态 CSS 文件未在 Django 框架中加载