草庐IT

探秘WKWebView

全部标签

ios - 从 Nib 或 Storyboard 在 WKWebView 上设置 WKWebViewConfiguration

在iOS11中,Apple添加了在您的Nib和Storyboard上添加WKWebViewssocket的功能集。使用自动设置的默认WKWebViewConfiguration时,它似乎工作正常。但是,我希望能够使用自定义WKWebViewConfiguration。无论如何,我可以在WKWebView从Nib初始化之前或之后设置它吗? 最佳答案 Let'sExampleyourcustomizeconfiguration.NSString*jScript=@"varmeta=document.createElement('meta

ios - 从 WKWebview 检索 HTTP 响应 header

我需要从WKWebview的请求中读取响应HTTPheader。我需要根据服务器发送的某些自定义header执行自定义。无法将此信息添加到响应数据中。我在文档中和之前的问题中都找不到任何条目。有什么办法吗? 最佳答案 看起来您可以从WKNavigationDelegate方法访问响应webView:decidePolicyFor:decisionHandler:.设置一些对象作为WKWebView的navigationDelegate,并添加这个方法:-(void)webView:(WKWebView*)webViewdecideP

ios - 为什么我不能将 WKWebView 保存到 [NSUserDefaults standardUserDefaults]?

NSUserDefaults*prefs=[NSUserDefaultsstandardUserDefaults];[prefssetObject:self.webViewforKey:@"webView"];上面的代码是为了保存一个WKWebView对象,但我遇到了一个编译器错误:2014-11-0814:58:52.561Restoration[2431:482391]Propertylistinvalidforformat:200(propertylistscannotcontainobjectsoftype'CFType')2014-11-0814:58:52.564Resto

ios - 从本地文件加载的 WKWebView 访问安全端点

所以我们正在开发一个iPhone应用程序(iOS9+,而不是8),我们使用WKWebView和本地文件来启动它。为了将数据导入应用程序,我们计划使用一种安全服务,该服务也将处理身份验证,并认为CORS是实现这一目标的方式。但是,从文件系统加载文件会将HTTP请求中的来源设置为null,当我们还想发送cookie(用于身份验证)时,这是不允许的。所以我的问题是:我们可以在WKWebView中设置一个原点来覆盖null吗?用类似https://acme.server.net的东西?其他人(您)在做什么?我们是否应该考虑做CORS以外的其他事情?(JSONP不是一个选项)。

javascript - WKWebView 自定义长按菜单可以工作,但有一些主要问题

当用户长按链接时,会出现带有以下选项的警报Controller:打开在新标签页中打开复制目前有两个问题:如果用户在WKWebView完成导航之前执行长按,则会出现默认(Safari的)警报Controller。如果用户在弹出动画发生后抬起手指,WKWebView会将其注册为点击并导航到该链接,同时警报Controller仍显示在屏幕上。该机制分为三个部分。首先,在WKWebView完成导航后,javascript将被注入(inject)禁用默认警报Controller的页面。-(void)webView:(WKWebView*)webViewdidFinishNavigation:(W

ios - WKWebView 与本地文件

我正在使用本地文件测试WKWebView,它在模拟器中工作但在设备中不工作@interfaceEDPresentationViewController()@property(nonatomic,strong)WKWebView*webView;@property(nonatomic,strong)EDPresentationController*presentationController;@end@implementationEDPresentationViewController-(void)viewDidLoad{[superviewDidLoad];self.presentat

ios - WKWebView cookie 存储位置

我正在将一个应用程序从UIWebView转换到WKWebView并且有一个自动登录功能,该功能是通过将包含用户已通过身份验证的信息保存到中来处理的>NSHTTPCookieStorage。然而,WKWebView似乎并没有查看该cookie的位置,因此每次都会提示用户登录屏幕。是否需要激活某些东西才能让WKWebView正确使用cookie? 最佳答案 由于不共享相同的cookie存储空间,目前WKWebView和UIWebView不能正常协同工作。在下面的答案中进行了深入讨论。HowcanIretrieveafileusingWK

ios - WKWebView 支持哪些文件类型?

UIWebView支持完整的文件类型列表,详见thisAppleTechnicalQ&Adoc:除了HTML内容,UIWebView还可以显示特定的文档类型。iPhoneOS2.2.1supportsthefollowingdocumenttypes:Excel(.xls)Keynote(.key.zip)Numbers(.numbers.zip)Pages(.pages.zip)PDF(.pdf)Powerpoint(.ppt)Word(.doc)iPhoneOS3.0supportstheseadditionaldocumenttypes:RichTextFormat(.rtf)R

ios - 任何可能的方法来处理 WKWebView 和浏览器之间的操作以在 iOS 中选择图像?

我想在选择按钮时上传静态图像(如下面的屏幕截图所述)在我的应用程序的网址上使用WKWebView.点击选择文件按钮,将打开设备的默认操作表,选择图像后,将上传到服务器。我想中断流程并上传我的静态图片而不是用户选择的图片。是否有任何观察者或监听者,以便我们可以从那里处理请求和响应。使用表单数据API上传图像不可用。 最佳答案 您可以从WKWebView的元素单击操作获得回调,但您需要使用JavaScript代码和JSVirtualMachine,这将有助于在您的swift类中获得回调。然后您可以像正常操作一样对点击执行任何操作可以关注

ios - 即使使用 Cordova WKWebview Engine 插件的基本 Ionic 项目也会产生白屏

我的问题:我正在开发的ionic应用程序非常慢,在发现UIWebView是我正在寻找加速它的方法后,WKWebView是最有前途的解决方案。我的项目是什么样的:当使用当前的Cordova4.1.0CLI(我使用的是Ionic1.2.4)设置示例ionic项目(例如http://ccoenraets.github.io/ionic-tutorial/install-ionic.html)时,默认使用UIWebView。然而,自Cordova4以来,新的更快的WKWebView得到了开箱即用的支持,并且可以强制使用,至少在iOS9中是这样(cordova4supportsWKWebView