草庐IT

探秘WKWebView

全部标签

ios - UIWebView 和 WKWebView 的键盘 "done"按钮按下事件

在使用UITextView时有相关资源。如何注册Done键按钮按下事件?当用户在webView中聚焦表单时,键盘就会出现。 最佳答案 主要思想是使用Javascript注入(inject)来实现你想要的。您可以trycatch名为onfocusout的DOM事件(有关详细信息,请参阅http://www.w3schools.com/jsref/event_onfocusout.asp)。以下是如何为UIWebView执行此操作的示例。WKWebView可以用类似的方式处理。在第一次加载webview后调用它来注入(inject)一些

ios - 如何在 Swift 中监控 WKWebView 页面加载进度?

这是我的代码:@IBOutletweakvarwebView:WKWebView!@IBOutletweakvarprogressView:UIProgressView!overridefuncviewDidLoad(){super.viewDidLoad()webView.uiDelegate=selfwebView.navigationDelegate=selfwebView.addObserver(self,forKeyPath:"estimatedProgress",options:.new,context:nil)}overridefuncobserveValue(forKe

ios - 如何为 WKWebview 添加超时

当没有为didFailNavigation调用默认委托(delegate)时,如何为WKWebView编写超时处理程序。WKWebView委托(delegate)已设置,DidFinishNavigation或didFailProvisionalNavigation正在调用。 最佳答案 使用didFailProvisionalNavigation创建的错误的error.code值并在其中添加您的“处理程序”代码:funcwebView(webView:WKWebView,didFailProvisionalNavigationnav

ios - 如何阻止外部资源加载到 WKWebView 上?

我有一个加载网页的应用程序,但阻止下载图像、字体、javascript等。为此,我实现了一个NSURLProtocol子类,它与UIWebView配合得很好。但是我正在迁移到WKWebview,并意识到我精心制作的NSURLProtocol类不再适用于过滤掉这些资源。有人知道如何实现过滤/阻止吗?如果您想知道我是如何进行迁移的,我从这篇文章开始:http://floatlearning.com/2014/12/uiwebview-wkwebview-and-tying-them-together-using-swift/ 最佳答案

ios - WKWebView 读者 View

我正在从UIWebView切换到WKWebView,不知道如何设置我的配置以使用Reader.有没有人可以帮助我?viewDidLoad:WKWebViewConfiguration*config=[NSClassFromString(@"WKWebViewConfiguration")alloc]init];//ConfigurationofReadergoeshere?wkWebView=[[wkWebViewClassalloc]initWithFrame:frameconfiguration:config];[self.viewaddSubview:wkWebView];}

ios - WKWebView 中的嵌入式 YouTube 视频禁用全屏模式

我正在尝试将YouTube视频嵌入到WKWebView中加载的网页中.这是页面源:lethtml="""YouTubeVideoHereisanembeddedyoutubevideo:"""WKWebView的配置接近默认值(启用allowsInlineMediaPlayback)。网页加载webView.loadHTMLString(html,baseURL:nil).YouTube播放器中的全屏模式按钮显示为灰色。当我点击它时,会显示以下消息:“您的浏览器不支持全屏。”:如果我使用UIWebView,我会收到相同的消息反而。全屏模式似乎适用于嵌入式Vimeo视频(尽管Vimeo播

ios - 如何判断 WKWebView 是否正在播放音频?

我很好奇是否有一种方法可以判断音频是否来自特定的WKWebView,就像您可以在Chrome和Safari中找到播放音频的选项卡一样? 最佳答案 在WKWebView的delegate中,webview加载完成后,执行addEventListener到audio和video标签的javascript事件play,暂停,结束。然后有目的的检查播放状态。 关于ios-如何判断WKWebView是否正在播放音频?,我们在StackOverflow上找到一个类似的问题:

ios - 在 WkWebView/mobile Safari 的页面中为 iframe 启用 session cookie

我有一个iframe到第3方网页的网站,该网页本身嵌入到iOS应用程序的WkWebView中。MobileSafari和WkWebView拒绝为我的网站发送的session(仅限http)cookie,基本上破坏了一切。移动版Safari中的解决方法是要么在设置中启用所有cookie(糟糕),要么指示用户直接访问我的网站(因此就Safari而言,它算作“我访问过的网站”);这些都不是特别可口。我没有发现WkWebView的解决方法。这个问题分为两部分:1)我正在考虑在我的网站中实现重定向服务,该服务将目标URL作为参数,并在页面加载时将用户重定向到该URL。然后,第3方站点可以链接到我

ios - iOS 上的所有浏览器都使用 WKWebview 还是 UIWebVIew?

我很好奇iOS上的第三方浏览器(Chrome或FireFox)他们是否都使用WkWebview或UIWebVIew来显示网页,但做了很多额外的工作,如缓存等?所以,如果我想在iOS上写一个浏览器,我必须使用WkWebview来显示网页并包装它来做更多的事情? 最佳答案 是的,Apple在§2.5.6ofAppStoreReviewGuidelines中明确禁止其他网络引擎(或分别只允许WebKit):2.5.6AppsthatbrowsethewebmustusetheappropriateWebKitframeworkandWeb

ios - WKWebView https 证书无效

这是我用来允许证书的代码:@interfaceNSURLRequest(DummyInterface)+(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;+(void)setAllowsAnyHTTPSCertificate:(BOOL)allowforHost:(NSString*)host;@end@implementationNSURLRequest(DummyInterface)+(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host{return[hostisEq