将本地 css 和 js 文件加载到 WKWebView 中

2023-12-23

在 Swift 2.1.1 和 Xcode 7.1 中
我的代码使用 WKWebView 并从本地文件加载 index.html,但无法加载 index.css 和其他 javascript 文件,如 head 标记中所示。

我最好的猜测是baseURL不正确,如果是这样,我怎样才能正确设置baseURL?谢谢

import UIKit
import WebKit

class ViewController: UIViewController {
@IBOutlet var containerView: UIView! = nil  //allows the class to refrence WKWebView
var webView: WKWebView?

override func loadView() {
    super.loadView()

    self.webView = WKWebView()
    self.view = self.webView!
}

override func viewDidLoad() {
    super.viewDidLoad()

    let HTMLDocumentPath = NSBundle.mainBundle().pathForResource("index", ofType: "html")
    let HTMLString: NSString?

    do {
        HTMLString = try NSString(contentsOfFile: HTMLDocumentPath!, encoding: NSUTF8StringEncoding)
        let baseUrl  = NSURL.fileURLWithPath("")
        webView!.loadHTMLString(HTMLString as! String, baseURL: baseUrl)

    } catch {
        HTMLString = nil
    }
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

}

   <head>
      <meta charset="UTF-8">
      <title>RRR</title>
      <link rel="stylesheet" href="jquery.mobile-1.4.5.css"/>
      <link rel="stylesheet" href="index.css"/>
      <script src="jquery-1.11.3.js"></script>
      <script src="jquery.mobile-1.4.5.js"></script>
      <meta name="viewport" content="width=device-width"/>
   </head>

读了一会儿之后here http://www.cs.tut.fi/~jkorpela/fileurl.html关于文件网址我能够解决问题。

这是代码

import UIKit
import WebKit

class ViewController: UIViewController {
    @IBOutlet var containerView: UIView! = nil  //allows the class to reference WKWebView
    var webView: WKWebView?

    override func loadView() {
        super.loadView()

        self.webView = WKWebView()
        self.view = self.webView!
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        let baseUrl = NSURL(string: "file:///<yourFilePath>/abc/")
        let path = NSBundle.mainBundle().pathForResource("abc/index", ofType: "html")
        let HTMLString: NSString?

        do {
            HTMLString = try NSString(contentsOfFile: path!, encoding: NSUTF8StringEncoding)
            webView!.loadHTMLString(HTMLString as! String, baseURL: baseUrl )

        } catch {
            HTMLString = nil
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将本地 css 和 js 文件加载到 WKWebView 中 的相关文章

  • 如何在 Swift 中使用 CVaListPointer 参数调用方法

    我应该如何调用以下方法 该方法属于打印日志的类 func log format String withParameters valist CVaListPointer 我想要实现的目标 在 Objective C 中看起来像这样 NSLog
  • 使用 Alamofire ObjectMapper 映射到 Swift 对象问题显示 nil

    我是 iOS 和 Swift 开发环境的新手 我试图使用 Alamofire 来提取 JSON 并使用 AlamofireObjectMapper 将检索到的 JSON 集合映射回我的 Swift 对象 问题是我可以通过 Alamofire
  • 调用可以抛出错误,但错误不能从全局变量初始值设定项中抛出

    我正在使用 Xcode 7 beta 迁移到 Swift 2 后 我遇到了这行代码的一些问题 let recorder AVAudioRecorder URL soundFileURL settings recordSettings as
  • 试试! & 尝试?有什么区别,什么时候使用?

    In 斯威夫特2 0 http ahmedabdurrahman com 2015 08 22 swift 2 0 Apple引入了一种新的错误处理方式 do try catch 几天前 Beta 6 中引入了一个更新的关键字 try 另外
  • 如何在项目中任意ViewController中全局访问Class中的数据

    我是斯威夫特的新手 目标 访问全球数据 如何使用Swift实现全局临时存储 使用下面的类来存储数据 In C 1 我使用具有静态属性的类 Class TransactionData public static DateTime dateTi
  • 使用硬件加速内容截取 WKWebview 的屏幕截图

    我在截屏时遇到严重问题WKWebview内容当有硬件加速内容 一些在 iframe 内运行的特定赌场游戏 到目前为止 我使用了像大家建议的标准截图方式 UIGraphicsBeginImageContextWithOptions conta
  • Xamarin WKWebView 接受自签名证书

    我在网上看到过各种例子说明如何接受它们 但我总是得到发生 SSL 错误 无法与服务器建立安全连接 我要注意的是 该方法肯定被调用 在 iOS 8 4 模拟器和 iOS 11 实际设备上运行 因此未调用的方法不是这里的问题 到目前为止我已经尝
  • Interface Builder 中的 WKWebView

    XCode 6 beta 中的 IB 对象模板似乎仍在创建旧式对象 iOS 的 UIWebView 和 OSX 的 WebView 希望 Apple 能够针对现代 WebKit 更新它们 但在那之前 在 Interface Builder
  • UIImageView 的触摸向上和触摸向下操作

    我想要实现的是 当用户触摸 UIImageView 时设置 Image1 当用户抬起手指时设置 Image2 我只能用此代码获取 UIGestureRecognizerState Ended var tap UITapGestureReco
  • Swift 2 错误处理和 while

    例如下面的代码 while let data Provider getData 使用 Swift 2 你会遇到两个错误 条件绑定的初始化程序必须具有可选类型 而不是 字符串 调用可以抛出 但它没有标记为 try 并且错误不会被处理 在这里进
  • 即使没有任何更改,“转换为最新的 Swift 语法”也会破坏构建

    我的项目是用 Objective C 编写的 只有一个 swift 中的 tableviewcontroller 我今天下载了 Xcode beta 它提示我 转换为最新的 Swift 语法 当我按照步骤操作后 它显示没有任何变化 我也没有
  • 协议类型的 inout 变量是否被禁止?

    下面的代码 protocol SomeProtocol class SomeClass SomeProtocol private func doSomethingWith inout someVar SomeProtocol private
  • 如何缓存WKWebView加载的资源?

    I use WKWebView显示包括图像在内的富文本 我想将这些图像缓存在磁盘上 如何获取这些 HTTP 请求并缓存响应 默认设置对 WKWebView 中加载的所有资源进行缓存 您所要做的就是在 HTTP 响应中为这些资源设置正确的标头
  • iOS/WKWebView 上 SVG 的随机故障渲染

    在我们的 iOS 应用程序中显示 SVG 图标时 我们遇到了奇怪的间歇性 非常偶然 渲染故障 基于WKWebView 当它确实发生时 它似乎可能与 CSS 相关 因为如果我在调试页面时在 Safari 中更改一些随机 甚至完全不相关 的 C
  • 为什么 Swift 中委托方法需要公开?

    我正在快速开发一个框架 我正在创建一个处理框架中 BLE 内容的类 这个类应该是公共的 因为我需要从使用我的框架的外部应用程序访问这个类 我的班级结构如下 public class MyClass NSObject CBCentralMan
  • 在 WKWebView 中加载本地文件在设备中不起作用

    我无法在 wkwebview 中加载本地 epub 文件 从文档目录 它可以在模拟器中运行 但不能在设备中运行 我了解到这是 iOS 8 的一个错误here http www openradar me 18039024 iOS 8 已经解决
  • 将 Objective-C 框架 (CocoaPod) 导入 Swift?

    我正在尝试导入libjingle peerconnection框架到我的 Xcode 项目中 但由于某种原因 我无法使用以下命令导入 Objective C 标头import RTCICEServer在 Swift 源文件中 我尝试使用头文
  • 电话号码的 Swift 2 国家/地区代码

    我正在尝试从 iPhone 用户处获取国家 地区代码 我不确定是否有有关该国家 地区以及某些应用程序 如 Viber 如何建议拨号代码的信息 我到目前为止 let currentLocale NSLocale currentLocale l
  • Swift 2 OAuth2 LinkedIn 连接

    我将使用 Swift 2 和 Xcode 7 制作一个本机 iOS 应用程序 用户应该使用 LinkedIn 和 OAuth 2 登录 但我想知道应该如何开始设置 我对 OAuth 2 没有太多经验 有好的教程或示例应用程序吗 我看到了雷
  • WKWebview 中的 iCLoud 文档选择器关闭容器视图

    我有一个 WKWebview 加载基于 Web 的 UI 我希望用户能够从其 iCloud 文档上传文件 我已授予正确的权限 并且可以浏览 iCloud 文档 但是 当我选择文件或单击取消按钮时 文档选择器视图也会关闭 WKWebview

随机推荐

  • 嵌套数组(6 维)的替代方案,内存间隙保留 O(1) 访问

    我正在读取运行具有不同配置的程序的统计数据 假设有 6 种配置 a b f 配置可能不会线性变化 因此如果您将测量值视为表格 则表格中可能存在间隙 问题在于如何在内存中构建这些统计数据 首先想到的是将这些配置读取到动态分配的一个或多个 6
  • 自定义模板加载器 Django

    我正在尝试在 django 中编写一个自定义模板加载器 它为 s3 存储桶中存在的 index html 提供服务 以下是我的加载程序文件 from django conf import settings from django templ
  • 通过包名查找正在运行的进程ID

    我正在编写一个脚本 需要在其中提供应用程序的 PID 我可以通过以下命令列出所有进程及其 PID 并且可以看到我的应用程序的条目 adb shell ps 这给了我一个巨大的进程列表 我需要一个条目 我可以进一步将其提供给另一个命令 因此我
  • 在 iOS 上创建相当于 Android 同步适配器的内容

    我在网络服务器上获取了数据 我想将其下载到 iOS 联系人列表中 是否可以在 iOS 上以编程方式创建一个类似于 Android 同步适配器 的帐户 并且不是默认帐户或 LDAP CardDAV 帐户之一 或者我可以让我的应用程序定期检查网
  • PHP:使用 PEAR 写入 Excel 文件

    我已经安装了PEAR Spreadsheet Excel Writer和 OLE 示例程序已成功执行 但当我尝试读取文件时 它显示垃圾值 我也尝试过 workbook gt setVersion 8 and worksheet gt set
  • Android:使用 KSOAP 解析 XML

    我与我的 Web 服务 SOAP 连接 这是我从 Web 服务收到的 xml 结果 如何在没有 SAX 解析器的情况下解析此结果
  • 如何删除 Chrome 中选择选项的黑色边框?

    如下图所示 当选择选项悬停在镶边上时 会显示黑色边框 我怎样才能去掉边框 下面的代码不起作用 select hover focus outline 0 important 如果您能帮我解决问题 我将不胜感激 Go 镀铬旗帜 https i
  • 无法找到自动发现服务

    我有使用 Exchange Web 服务 EWS 1 1 API 发送电子邮件的代码 如果我使用硬编码参数值也不例外 例如 service AutodiscoverUrl email protected cdn cgi l email pr
  • 可以通过cfldap将缩略图照片注入AD吗?

    有谁有办法将用户的缩略图注入 AD 中吗 当我通过 cfldap 获取数据时 我可以看到缩略图的条目 但 我的记录 的条目 手动附加了照片 在该字段中有一个空字符串 有什么建议么 谢谢 克里斯 我不相信有什么办法可以做到这一点 我一直无法弄
  • 枚举设计决策的恒定特定方法

    这更多是一个设计问题 首先 我有一个枚举 enum WageType MONTHLY public int getWageRatePerUnit return 60000 public boolean isPaymentTime DateT
  • 没有 HTML 标签的 XSS

    如果我的输入不允许 字符 是否有可能进行 XSS 攻击 Example I enter text 但如果我删除 脚本就不是文本 I enter script alert this script text 是的 这仍然是可能的 例如假设您的网
  • 如何使用调试器处理任务中的异常?

    我学MSDN 上的这篇文章 http msdn microsoft com en us library dd537614 aspx 以及有关此主题的一些问题 答案 但无法弄清楚为什么下面的代码不起作用 在示例控制台应用程序中 根据 MSDN
  • Android 应用程序上下文是否会被破坏?

    我使用 Android 应用程序的应用程序上下文作为应用程序 当前状态 信息的存储区域 我发现在现场 有些情况下此信息在某些人的设备上消失 导致各种 NullPointerExceptions 因为我希望当应用程序恢复并开始重建必要的活动时
  • 如何将子进程的输出重定向到文件

    我有以下 python 脚本 import shlex import subprocess from datetime import datetime timedelta import os import sys import xml et
  • Python 预提交单元测试失败

    I wish pre commit https pre commit com在提交我的代码之前运行测试 命令python m unittest discover正在命令行中工作 D project dir gt python m unitt
  • 从连接字符串获取用户名和密码的正确方法? [复制]

    这个问题在这里已经有答案了 我有一个像这样的连接字符串 SERVER localhost DATABASE tree UID root PASSWORD branch Min Pool Size 0 Max Pool Size 200 如何
  • iOS Swift - 使用 NSTimer 为应用程序背景重新加载位置功能不起作用

    我的定位服务有问题 我无法设置一个通过 NSTimer 在后台更新我的位置坐标的函数 这是我来自 appDelegate 的代码 var locationManager CLLocationManager func applicationD
  • 替代已弃用的 UITableViewCell setText?

    书上的代码开始 iPhone 开发 http iphonedevbook com 作者 Dave Mark 和 Jeff LaMarche 分配给 UITableViewCell 文本属性 UITableViewCell cell cell
  • 使用 xmlhttprequest 将 JavaScript 变量传递给 PHP

    我在将 javascript 变量发布到 php 文件时遇到问题 请有人告诉我发生了什么事吗 Get Cookies var getCookies document cookie cookiearray getCookies split S
  • 将本地 css 和 js 文件加载到 WKWebView 中

    在 Swift 2 1 1 和 Xcode 7 1 中我的代码使用 WKWebView 并从本地文件加载 index html 但无法加载 index css 和其他 javascript 文件 如 head 标记中所示 我最好的猜测是ba