我想下载一个文件(CSV).它位于网站的登录屏幕后面.我想显示一个WKWebView允许用户登录,然后让应用程序在登录后下载文件.
我尝试WKWebView在用户登录网站后下载文件,但会话数据似乎是沙箱,因为它下载了一个带有登录表单而不是所需文件的html文档.
我也尝试WKUserScript在WKUserContentController对象中添加一个,但是在加载非HTML文件时脚本不会运行.
我是否有办法访问此文件,同时允许用户通过WKWebView?登录?
我需要使用Angular打开URL,UIWebView我需要为每个UIWebView请求发送cookie .
我试图做的:
我试图检查请求是否包含cookie.如果它确实UIWebView执行请求,如果不是,我创建相同的请求,但使用cookie并执行它.用我用UIWebViewDelegate的方法替换请求func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool.但它不像我预期的那样工作,有些请求没有cookie.
我的代码:
final class FieldServiceViewController: UIViewController {
private var webView = UIWebView()
private var sessionID = String()
override func viewDidLoad() {
super.viewDidLoad()
_ = JSONAPI.getSessionID().subscribe(onNext: { [weak self] sessionID in
self?.sessionID = sessionID
self?.configureUI()
let string = "https://someURL"
let url = URL(string: string)
let request = URLRequest(url: url!)
self?.webView.loadRequest(request)
})
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
webView.frame …Run Code Online (Sandbox Code Playgroud) 我正在尝试让WKWebView在中显示本地下载的图像WKWebView。Web视图通常显示HTML,该HTML可远程检索。HTML的内容有时可以包含指向图像的远程链接。我的应用程序解析HTML并查找这些HTML标记,下载它所引用的文件,然后将远程链接替换为本地链接。
通常来说,这不是很困难,但是不会显示图像,大概是由于图像和Webview的本地HTML文件位于两个单独的目录(分别是文档目录和App Bundle目录)中。我见过有人建议将图像的下载目标移到HTML文件所在的目录,但这对我来说不是一个选择,因为我不想开始将用户下载的文件与本地资产混淆。
我最好的做法是什么?