javascript - 如何使用WKWebview从iPad的Document目录加载javascript和css资源?

标签 javascript ios swift3 wkwebview

我已在设备文档目录中添加了所有 .js、.css 和 .html 文件。在模拟器上,WKWebview 能够成功加载包含所有资源的 HTML,但在设备上它无法加载 .js 和 .css 文件。

我正在使用此代码 -

let baseURL = "file:///var/mobile/Containers/Data/Application/61AAA238-BE0C-4CD1-8401-58D0A40BBDF0/Documents/SitePlanResources/"
do {
   let fullPath = "/var/mobile/Containers/Data/Application/61AAA238-BE0C-4CD1-8401-58D0A40BBDF0/Documents/SitePlanResources/sitemap_708_193.html"
   let htmlString = try NSString(contentsOfFile: fullPath!, encoding: String.Encoding.utf8.rawValue)
   _ = self.masterWebView?.loadHTMLString(htmlString as String, baseURL: baseURL)
   } catch {
       print(error)
   }

在 HTML 中,我引用 HTML 就像 -

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=6.0" />
    <script type="text/javascript" src="jquery-1.10.2.min.js"></script>
    <link href="preview.css" rel="Stylesheet" type="text/css" />
    <link href="simple-slider.css" rel="stylesheet" type="text/css" />
    <script  type="text/javascript"  src="jquery-migrate-1.2.1.js"></script>
    <script  type="text/javascript"  src="jquery.svg.min.js"></script>
    <script  type="text/javascript"  src="MasterSitePlan.js"></script>
    <script  type="text/javascript"  src="Tap.js"></script>
    <script  src="fastclick.js" type="text/javascript"></script>
    <script type="text/javascript" src="simple-slider.js"></script>
    <style>
        svg {
            -webkit-tap-highlight-color: rgba(0,0,0,0);
        }
    </style>
</head>

所有文件都存储在同一位置。 我陷入了这个问题。需要一些帮助。

最佳答案

这是一个known issue如果 WKWebView 无法加载本地文件,您可以使用 loadHTMLString 加载简单的内容,但这不会设置加载相关文件的基本路径(即使可能)。

如果您不需要支持<=ios8,那么您可以使用新的API来实现此目的[WKWebView loadFileURL:allowingReadAccessToURL:]

否则,您可能必须在 html 中嵌入所需的 css/js 或使用标准 UIWebView 或 Safari View 或其他私有(private)浏览器 View 。

关于javascript - 如何使用WKWebview从iPad的Document目录加载javascript和css资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40303389/

相关文章:

Javascript:混合构造函数模式和揭示模块模式

javascript - SharePoint TextField ClientID 更改?

ios - UITableview View 重新加载动画问题

ios - Swift 3.0 迁移后未调用 MFMailComposeViewControllerDelegate 方法

ios - 搜索栏和分段控件

javascript - FileReader+canvas图片加载问题

javascript - dc.js 和 crossfilter 减少一周中每天的平均计数

ios - 性能缓慢 Json 图像分辨率

ios - 没有 Cocoapods - 需要手动为 iOS 添加性能监控

ios - iOS 应用程序的服务器端验证