Tag: wkwebview

如何截取部分UIView的截图?

我希望用户继续我的应用程序,并在Swift中按编程button后,应用程序的屏幕截图。 我知道UIGraphicsGetImageFromCurrentImageContext()需要截图,但我不想要整个屏幕的图片。 我想要一个矩形popup(有点像一个裁剪工具),用户可以拖动和调整矩形只截取屏幕的某一部分的屏幕截图。 我想要矩形通过WKWebView并裁剪Web视图的图片。

无法在我的WKWebView POST请求上设置标题

我想对我的WKWebView执行一个POST请求,但是当我使用Charles来监视这个请求时,这个头部并没有被设置,所以请求失败了。 这里有什么问题? NSString *post = [NSString stringWithFormat: @"email=%@&password=%@", email, password]; NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; NSString *contentLength = [NSString stringWithFormat:@"%d", postData.length]; NSURL *url = [NSURL URLWithString:@"http://materik.me/endpoint"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"POST"]; [request setHTTPBody:postData]; [request setValue:contentLength forHTTPHeaderField:@"Content-Length"]; [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [webview loadRequest:request]; 这就是查尔斯所说的要求是这样的: POST /endpoint HTTP/1.1 Host: materik.me Content-Type: application/x-www-form-urlencoded […]

WKWebView评估JavaScript返回值

我需要改变一个函数来评估JavaScript从UIWebView到WKWebView。 我需要在这个函数中返回评估结果。 现在,我打电话给: [wkWebView evaluateJavaScript:call completionHandler:^(NSString *result, NSError *error) { NSLog(@"Error %@",error); NSLog(@"Result %@",result); }]; 但是我需要得到像返回值一样的结果,就像在UIWebView 。 你能提出一个解决scheme吗?

WKWebView从本地文档文件夹加载资源

在我的swift iOS应用程序中,我想从远程服务器下载一些dynamichtml页面,保存在文档目录中,并从文档目录中显示这些页面。 我正在使用它来加载页面 var appWebView:WKWebView? … appWebView!.loadRequest(NSURLRequest(URL: NSURL(fileURLWithPath: htmlPath))) 一切工作在模拟器上,但是当我转移到真正的手机,它只是显示一个空白页面。 然后,我使用Safari浏览器连接到应用程序,发现它抱怨“无法加载资源”。 然后我试着先在htmlPath读取页面的内容,然后使用 appWebView!.loadHTMLString() 加载页面。 它在html页面很简单的时候工作。 但是如果html引用别的东西,也就是一个javascript也在文档目录下(带有一个像<script src="file:////var/mobile/Containers/Data/Application/762035C9-2BF2-4CDD-B5B1-574A0E2B0728/Documents/xxxxx.js"> ),将无法加载。 任何人都知道为什么发生这种情况,如何解决这个问题 更多信息: XCode版本:7.3.1 部署目标:8.1(我也尝试使用9.3,没有帮助)

WKWebViewfunction用于检测URL是否已经改变

是否有一个WKWebView类的函数,允许您检测该WebView的URL何时更改? 在处理WebView中的某些元素时, didCommit和didStartProvisionalNavigation函数似乎并不总是被触发。 编辑:试图添加一个通知观察员。 这是我到目前为止: extension Notification.Name { static let checkURL = Notification.Name("checkURL") } NotificationCenter.default.post(name: .checkURL, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(getter: webView.url), name: .checkURL, object: webView.url)

如何删除WKWebview中的caching?

任何一个与WKWebview工作,并试图清除caching? 如果是的话,该怎么办? 任何例子? PS:正常NSURLCache不能正常工作。

WKWebView和NSURLProtocol不起作用

当使用旧的UIWebView时,你可以通过实现一个自定义NSURLProtocol来捕捉请求。 我们这个来处理需要authentication的请求。 我尝试了相同的代码,它不适用于新的WKWebView,但我的协议类根本不被调用。 有人遇到同样的问题,还是有一个更好的方式与WKWebView进行身份validation? 没有任何修改,我在resolvePolicyForNavigationResponse委托函数中得到了一个401响应。 我也尝试使用NSURLConnection连接到服务器,并使用NSURLConnectionDataDelegate处理身份validation。 这工作,但存储的凭据不拾取WKWebView。

我怎样才能使用WKWebView检索文件?

有一个文件(CSV),我想下载。 它位于网站的login屏幕后面。 我想显示一个WKWebView允许用户login,然后在应用程序login后下载文件。 我已经尝试在用户login到网站后下载WKWebView之外的文件,但会话数据似乎是沙箱,因为它下载与login表单,而不是所需的文件的HTML文档。 我也尝试将WKUserScript添加到WKUserContentController对象,但是在加载非HTML文件时脚本不能运行。 有没有办法让我访问这个文件,同时允许用户通过WKWebViewlogin?

如何在swift中为iOS添加全球范围的HTTP标头

func webView(webView: WKWebView!, decidePolicyForNavigationAction navigationAction: WKNavigationAction!, decisionHandler: ((WKNavigationActionPolicy) -> Void)!) { var request = NSMutableURLRequest(URL: navigationAction.request.URL) request.setValue("value", forHTTPHeaderField: "key") decisionHandler(.Allow) } 在上面的代码中,我想为请求添加一个头。 我试图做navigationAction.request.setValue("IOS", forKey: "DEVICE_APP")但它不起作用。 请以任何方式帮助我。

在iOS 10中请求相机和库的权限 – Info.plist

我已经在一个应用程序中实现了一个WKWebView。 在显示的网页中有一个文件input,它应该从照片中导入图像。 每当我按下该input,并select“拍照”或“照片库”的应用程序突然崩溃,我相信是因为该应用程序是缺less照片或从图书馆导入的权限。 当用户select上述方法之一(拍照或图片库)时,如何推送许可请求? 我用WKWebView使用Swift 3.0。