草庐IT

探秘WKWebView

全部标签

iOS 12.2 WKWebview : unable to load local html page after loading https or http url

在应用程序启动时我正在加载https://www.google.com在WKWebView中。应用程序有一个按钮,单击该按钮应用程序将从文档目录加载本地html页面。我使用以下代码加载html页面。letdestPath=NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask,true)[0]letfileName="Demo.html"letfullDestPath=URL(fileURLWithPath:destPath).appendingPathComponent(fileName)self.

IOS - 如何从 WKWebView 获取缓存资源?

据我所知,WKWebView中加载的所有资源的缓存是默认设置的。有几篇关于HowtoremovecachedresourcesfromWKWebView?的帖子,但我找不到任何关于如何从WKWebView中获取它的帖子。例如,当我使用WKWebView加载thisurl时,它显示一个pdf文件,我想要的是从WKWebView获取这个pdf文件,以便在url完全加载后共享我在Chrome上检查过,如果我想从上面的链接共享文件,它会在显示共享对话框后再次从url请求和下载内容。这意味着他们无法从当前的WKWebView(缓存的资源)中获取它。但在Safari上,不知何故,他们在点击分享按钮

ios - 将请求 header 添加到 WKWebView 中的所有传出请求

TL;DR:我有一个带有WKWebView的iOS(Swift)项目。我想向此WKWebView中的所有传出请求(html、图像、脚本、样式表等)添加请求header。我不知道该怎么做。背景:我有一个SwiftiOS应用程序,它使用WKWebView来呈现它的htmlView。这些View托管在我们的服务器上,服务器分为生产环境和暂存环境。我使用Akamai设置了暂存环境,以便所有传入请求都必须传递请求header,以便请求被接受。问题:目前,我已经创建了一个WKWebView的子类,它覆盖了loadRequest方法,它看起来像这样:overridefuncloadRequest(r

swift - 如何让 WKWebView 在 macOS 应用程序中快速工作

这个问题在这里已经有了答案:TransportsecurityhasblockedacleartextHTTP(29个答案)关闭5年前。在这个get因重复而被击落之前,事实并非如此。这里几乎所有关于WKWebView的问题都是关于iOS应用程序中的WKWebView,而不是macOS应用程序,不同之处在于几乎只是实现了UIViewController接口(interface),而不是macOS中的NSViewController接口(interface)。可以在网上找到的Apple文档中的示例代码以及Controller代码不起作用。尽管它确实可以毫无问题地编译,但webview仍处于

ios - WKWebView 全屏而不是框架?

我是Swift3.0的新手,我需要一些帮助...我正在尝试创建一个应该显示网站的框架。该网站不应填满整个View,而应仅填满框架。每次我启动应用程序时,网站都会填满整个屏幕,而不仅仅是框架......:(这是我的代码:importUIKitimportWebKitclassViewController:UIViewController,WKUIDelegate{@IBOutletweakvarwebView:WKWebView!overridefuncloadView(){letwebConfiguration=WKWebViewConfiguration()webView=WKWeb

ios - 如何覆盖 wkwebview 超链接操作表

当您长按WkWebview中的超链接时,您会看到一个操作表。我想在长按时用我自己的一组选项覆盖该操作表,但否则表现正常。我可以获得长按事件,但我不知道如何:阻止显示默认操作表防止webview在长按结束时导航到URL。获取webview直接指向的基础hrefURL或htmla标记本身和相关属性,例如ID。 最佳答案 取消操作表的一种简单(但激进)的方法是覆盖presentViewController:animated:completion:在您应用的RootViewController中。swift3示例overridefuncpr

javascript - 什么是 WKWebView 的 WKErrorDomain 错误 4

fatalerror:LPWebViewencountersanerror:ErrorDomain=WKErrorDomainCode=4"AJavaScriptexceptionoccurred"UserInfo=0x79d9c700{NSLocalizedDescription=AJavaScriptexceptionoccurred}我在尝试使用WKWebView评估JavaScript函数时遇到此错误。我使用loadHTMLString将模板加载到webview。letbundle=NSBundle.mainBundle()ifleteditorURL=bundle.URLFo

ios - WKWebView 使用 Swift 4 捕获 HTTP 错误代码

此问题与以下问题相同:WKWebViewcatchHTTPerrorcodes;不幸的是,Obj-C中的方法不适用于Swift4,因此引用的WKNavigationResponse.response不再是NSHTTPURLResponse类型,因此它没有http状态代码.但问题仍然是一样的:我需要获取答案的http状态代码以检测是否加载了预期的页面。请注意webView(_webView:WKWebView,didFailProvisionalNavigationnavigation:WKNavigation!,withErrorerror:Error)委托(delegate)不会在4

ios - 内容更改时 WKWebView 不调整大小

当内容更改时,WKWebView不会调整大小。这是一个代码片段:@IBOutletweakvarcontainingView:UIView!varwebView:WKWebView!overridefuncviewDidLoad(){super.viewDidLoad()letcontentController=WKUserContentController();self.webView=WKWebView(frame:CGRectMake(0,0,self.view.frame.width,self.view.frame.height),configuration:WKWebView

swift - iOS 12 wkwebview 无法使用重定向?

我有一个基本的webview,它加载了一个由nginx反向代理前端的网站,该代理只是将它转发到另一个网站。我可以在设备和模拟器(以及计算机)上使用safari、chromefirefox等加载它,但是当我尝试在wkwebview中加载它时,它会闪烁几次然后进入空白屏幕。注意同一个应用程序在iOS10-11中运行良好,但现在在iOS12中出现问题。下面是一个简单的代码摘录,展示了我正在做的事情:importUIKitimportWebKitclassViewController:UIViewController,WKUIDelegate{varwebView:WKWebView!over