与UIWebView和之前版本的WKWebView(iOS10和macOS10.12)不同,本地文件的默认加载操作已从Bundle.main.path移动到Bundle.main.url。同样,loadFileURL也成为了WKWebView默认加载本地资源的函数。我知道.path和.url是完全不同的并且在过去都有效-.path历史上是默认的-选择的方法;然而,最新版本的Swift似乎已经破坏了大部分(如果不是全部的话).path解决方案。.path解决方案现在似乎扁平化目录层次结构,将所有CSS、JS和任何其他子目录内容放入一个大目录中。这会在WKWebView尝试加载index.
我有一个使用XCode7.2在Swift中开发的小型原型(prototype)应用程序。该应用程序被创建为带有Storyboard的基于Cocoa文档的应用程序。因此,该项目包含AppDelegate.swift,Document.swift和Main.storyboard,所有这些都与XCode生成的相同,并且ViewController.swift,其中包含:importCocoaimportWebKitclassViewController:NSViewController{varwebView:WKWebView{returnviewas!WKWebView}overridef
我有一个用于测试目的的网页(https://storage.googleapis.com/htmltestingbucket/nested_scroll_helper.html),它只打印html在固定标题中捕获的滚动事件的计数器当WKWebView是片段中唯一可滚动的元素时,一切都很好,WebView将滚动事件发送到页面如果我想在WebView的上方和下方添加原生元素,那么事情会变得更加复杂。UIScrollViewUILabelWKWebViewUILabel我知道在ScrollView中包含WebView不好,但我必须在html文档中提供具有混合内容和适当滚动事件的单一滚动体验。
我正在努力为我的浏览器应用程序添加一个新的阅读View。它是另一个ViewController,仅包含一个WKWebView添加为带有按钮(和手势)以关闭View的subview。一切正常,但是当我旋转设备时,subview没有调整大小,所以我有一半的屏幕是空的。阅读View中的WKWebView获取主视图Controller的URL,并在用户点击主视图Controller上的按钮后执行segue,该URL存储为webpageURL。这是我使用的代码:importUIKitimportWebKitclassReadingViewController:UIViewController,U
当我在谷歌上搜索并点击Etsy.com以获取exmaple时,WKWebView将我重定向到安装在我的iPhone上的Etsy应用程序。如何禁用此行为?我希望WKWebView将我重定向到etsy.com移动网站。我正在使用swift。 最佳答案 不幸的是,WKWebView不会将带有自定义方案的url发送回您的应用程序以自动处理。如果您在没有特殊处理的情况下尝试此操作,在用户通过第三方服务进行身份验证后,您的WebView看起来会挂起,您将永远不会收到回调。您可以尝试使用具有标准http或https方案的重定向URI,但随后WKW
在我的iOS应用程序中,我想使用WKWebView将外部URL包装在应用程序中。此URL需要基本身份验证(它需要用户和密码凭据,如以下屏幕截图所示)。经过一些调查,我正在尝试使用didReceiveAuthenticationChallenge方法来启用自动登录,所以我不明白它是如何工作的。这是我的代码。importUIKitimportWebKitclassWebViewController:UIViewController,WKNavigationDelegate{varwebView:WKWebView?privatevarrequest:NSURLRequest{letbase
使用旧的UIWebView时,您可以通过实现自定义NSURLProtocol来捕获请求。我用它来处理需要身份验证的请求。我尝试了相同的代码,但它不适用于新的WKWebView,但我的协议(protocol)类根本没有被调用。有人遇到同样的问题还是有更好的方法使用WKWebView进行身份验证?在没有任何修改的情况下,我在decidePolicyForNavigationResponse委托(delegate)函数中得到了401响应。我还尝试使用NSURLConnection连接到服务器并使用NSURLConnectionDataDelegate处理身份验证。这行得通,但存储的凭据不会被
我使用WKWebView登录到一个网站,现在我想解析该网站的html。如何快速访问网站html?我知道它如何用于UIWebView但不知道WKWebView。感谢您的帮助! 最佳答案 如果您等到页面加载完成,您可以使用:webView.evaluateJavaScript("document.documentElement.outerHTML.toString()",completionHandler:{(html:Any?,error:Error?)inprint(html)})您还可以注入(inject)一些返回HTML的jav
我尝试在WKWebView中的内容完全加载后调用一个函数。我在AppleSwiftWKNavigation文档中找到了“didFinishNavigation”函数。funcwebView(webView:WKWebView!,didFinishNavigationnavigation:WKNavigation!){println("WebViewcontentloaded.")}但是这个函数永远不会被调用。importUIKitimportWebKitclassViewController:UIViewControllerWKNavigationDelegate{overridefu
虽然使用NSHTTPCookieStorage.sharedHTTPCookieStorage()从UIWebView获取cookie似乎很简单,但似乎WKWebView将cookie存储在其他地方。我做了一些研究,我能够从NSHTTPURLResponse对象中获取一些cookie。然而,这并不包含WKWebView使用的所有cookie:funcwebView(webView:WKWebView,decidePolicyForNavigationResponsenavigationResponse:WKNavigationResponse,decisionHandler:(WKNa