草庐IT

wkwebview

全部标签

ios - SWIFT - ScrollView 内的 WKWebView 中的 HTML 滚动事件

我有一个用于测试目的的网页(https://storage.googleapis.com/htmltestingbucket/nested_scroll_helper.html),它只打印html在固定标题中捕获的滚动事件的计数器当WKWebView是片段中唯一可滚动的元素时,一切都很好,WebView将滚动事件发送到页面如果我想在WebView的上方和下方添加原生元素,那么事情会变得更加复杂。UIScrollViewUILabelWKWebViewUILabel我知道在ScrollView中包含WebView不好,但我必须在html文档中提供具有混合内容和适当滚动事件的单一滚动体验。

ios - WKWebView 添加为 Subview 不会在 Swift 中旋转时调整大小

我正在努力为我的浏览器应用程序添加一个新的阅读View。它是另一个ViewController,仅包含一个WKWebView添加为带有按钮(和手势)以关闭View的subview。一切正常,但是当我旋转设备时,subview没有调整大小,所以我有一半的屏幕是空的。阅读View中的WKWebView获取主视图Controller的URL,并在用户点击主视图Controller上的按钮后执行segue,该URL存储为webpageURL。这是我使用的代码:importUIKitimportWebKitclassReadingViewController:UIViewController,U

ios - 禁用 WKWebView 打开链接以重定向到我的 iPhone 上安装的应用程序

当我在谷歌上搜索并点击Etsy.com以获取exmaple时,WKWebView将我重定向到安装在我的iPhone上的Etsy应用程序。如何禁用此行为?我希望WKWebView将我重定向到etsy.com移动网站。我正在使用swift。 最佳答案 不幸的是,WKWebView不会将带有自定义方案的url发送回您的应用程序以自动处理。如果您在没有特殊处理的情况下尝试此操作,在用户通过第三方服务进行身份验证后,您的WebView看起来会挂起,您将永远不会收到回调。您可以尝试使用具有标准http或https方案的重定向URI,但随后WKW

ios - 在 Swift 中使用 WKWebView 进行身份验证

在我的iOS应用程序中,我想使用WKWebView将外部URL包装在应用程序中。此URL需要基本身份验证(它需要用户和密码凭据,如以下屏幕截图所示)。经过一些调查,我正在尝试使用didReceiveAuthenticationChallenge方法来启用自动登录,所以我不明白它是如何工作的。这是我的代码。importUIKitimportWebKitclassWebViewController:UIViewController,WKNavigationDelegate{varwebView:WKWebView?privatevarrequest:NSURLRequest{letbase

ios - WKWebView 和 NSURLProtocol 不工作

使用旧的UIWebView时,您可以通过实现自定义NSURLProtocol来捕获请求。我用它来处理需要身份验证的请求。我尝试了相同的代码,但它不适用于新的WKWebView,但我的协议(protocol)类根本没有被调用。有人遇到同样的问题还是有更好的方法使用WKWebView进行身份验证?在没有任何修改的情况下,我在decidePolicyForNavigationResponse委托(delegate)函数中得到了401响应。我还尝试使用NSURLConnection连接到服务器并使用NSURLConnectionDataDelegate处理身份验证。这行得通,但存储的凭据不会被

swift - 在 Swift 中从 WKWebview 获取 HTML

我使用WKWebView登录到一个网站,现在我想解析该网站的html。如何快速访问网站html?我知道它如何用于UIWebView但不知道WKWebView。感谢您的帮助! 最佳答案 如果您等到页面加载完成,您可以使用:webView.evaluateJavaScript("document.documentElement.outerHTML.toString()",completionHandler:{(html:Any?,error:Error?)inprint(html)})您还可以注入(inject)一些返回HTML的jav

ios - WKWebView 内容加载函数永远不会被调用

我尝试在WKWebView中的内容完全加载后调用一个函数。我在AppleSwiftWKNavigation文档中找到了“didFinishNavigation”函数。funcwebView(webView:WKWebView!,didFinishNavigationnavigation:WKNavigation!){println("WebViewcontentloaded.")}但是这个函数永远不会被调用。importUIKitimportWebKitclassViewController:UIViewControllerWKNavigationDelegate{overridefu

ios - 从 WKWebView 获取所有 cookie

虽然使用NSHTTPCookieStorage.sharedHTTPCookieStorage()从UIWebView获取cookie似乎很简单,但似乎WKWebView将cookie存储在其他地方。我做了一些研究,我能够从NSHTTPURLResponse对象中获取一些cookie。然而,这并不包含WKWebView使用的所有cookie:funcwebView(webView:WKWebView,decidePolicyForNavigationResponsenavigationResponse:WKNavigationResponse,decisionHandler:(WKNa

ios - WKWebView 在 iOS 8 下不加载本地文件

对于以前的iOS8beta,加载一个本地网络应用程序(在Bundle中),它对UIWebView和WKWebView都工作正常,我什至移植了一个网络游戏使用新的WKWebViewAPI。varurl=NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource("car",ofType:"html"))webView=WKWebView(frame:view.frame)webView!.loadRequest(NSURLRequest(URL:url))view.addSubview(webView)但在beta4中,我只是得

javascript - 从 WKWebView 中的 native 代码调用 JavaScript 函数

在iOS8中使用WKWebView,如何从native端运行JavaScript函数或以其他方式从native端与JavaScript通信?似乎没有类似于UIWebView的stringByEvaluatingJavaScriptFromString:的方法。(我可以在configuration.userContentController对象上使用-addScriptMessageHandler:name:以允许从JS到native的通信,但我正在寻找相反的方向。) 最佳答案 (我在此处提出问题后不久就为此提交了雷达。)前几天刚加了