草庐IT

wkwebview

全部标签

ios - WkWebView 不会加载 HTMLstring

我试图在WkWebView中显示我之前下载并存储在字符串中的html页面。这就是我设置WkWebView的方式:webView=WKWebView(frame:self.blankView.frame)webView.navigationDelegate=selfwebView.loadHTMLString(tipShow.htmlString!,baseURL:nil)view.addSubview(webView)我要显示的html字符串是:*{-webkit-touch-callout:none;-webkit-user-select:none;/*Disableselectio

swift - WKWebView 截图

我正在trycatchwebview向用户显示的图像,因此我可以对网页进行一些颜色分析。当我尝试从它的父级获取图像时,我基本上得到一个白框,即使页面已经呈现:funcmakeImageSnapshot()->(NSImage){letimgSize=self.view.bounds.sizeletbir=self.viewbitmapImageRepForCachingDisplayInRect(self.webView!.view.bounds)bir.size=imgSizeself.webView.cacheDisplayInRect(self.view.bounds,toBit

ios - WKWebView 添加到 subview

我可以使用下面的代码以编程方式将WKWebView添加到subview。如何将WKWebView添加到通过InterfaceBuilder添加的ViewcontainerView2?importUIKitimportWebKitclassViewController:UIViewController{@IBOutletvarcontainerView:UIView?@IBOutletweakvarcontainerView2:UIView!varwebView:WKWebView?overridefuncloadView(){super.loadView()self.webView=W

macos - 透明背景WKWebView(NSView)

我正在使用Swift构建一个Mac应用程序。因此,我想让WKWebView透明,所以它显示加载的HTML的文本,但我的底层NSWindow的背景是可见的。我试过了webView.layer?.backgroundColor=NSColor.clearColor().CGColor;这没有任何影响。WKWebView继承自NSView,但我不知道这是否有帮助。另一种解决方案是插入一个NSVisualEffectView作为WebView的背景,但我也不知道如何实现! 最佳答案 在macOS10.12及更高版本中使用:webView.s

ios - 用于离线查看的 Swift iOS 缓存 WKWebView 内容

我们正在尝试将WKWebView的内容(HTML)保存在持久存储(NSUserDefaults、CoreData或磁盘文件)中。用户在没有互联网连接的情况下重新进入应用程序时可以看到相同的内容。WKWebView不像UIWebView那样使用NSURLProtocol(参见帖子here)。虽然看到帖子说“WKWebView中没有启用离线应用缓存”。(Apple开发者论坛),我知道存在解决方案。我知道了两种可能性,但我无法使它们起作用:1)如果我在SafariforMac中打开一个网站并选择文件>>另存为,它会在下图中出现以下选项。对于Mac应用程序存在[[[webViewmainFra

ios - WKWebView 没有加载 url

WKWebview未加载某些网址。这是我的代码片段letmyURL=URL(string:"https://contents.tdscpc.gov.in/")letmyRequest=URLRequest(url:myURL!)webView.load(myRequest)当我将url更改为URL(string:"https://www.ndtv.com/")时,它起作用了。不确定为什么?任何建议都会非常有帮助。 最佳答案 首先检查您是否在info.plist文件中设置了权限?如果不是,那么您只需要在info.plist文件中将Tr

swift - 实际显示 View 时的 WKWebView 通知

我想截取WKWebView的屏幕截图。我在WebView加载完成后立即调用方法drawViewHierarchyInRect(屏幕更新设置为true)-为此,我观察了loading属性的WebView。但是,我注意到,当WebView通知我加载已完成时,它实际上并没有显示在屏幕上。这就是屏​​幕截图始终只有白色的原因。当我在加载后0.5秒截取屏幕截图(这显然太长了)时,屏幕截图显示了所需的结果。我的问题是:我不知道webView何时实际显示在屏幕上,我可能可以将延迟设置为0.05,但我不能100%确定它每次都能正常工作。因此,我的问题是:当WebView实际显示并准备好截屏时,如何通知

javascript - WKWebView - Javascript 确认和警报不起作用

我正在使用WKWebView打开example.com,在那里我有一个应该打开JS警报的测试链接,但我无法让它显示在设备上,它只有在我从浏览器查看网站。我正在使用WKUIDelegate,并将这段代码添加到ViewController.swift文件中:funcwebView(webView:WKWebView,runJavaScriptAlertPanelWithMessagemessage:String,initiatedByFrameframe:WKFrameInfo,completionHandler:(()->Void)){NSLog("Hello")}当我单击生成JS警报的

swift - 在 WKWebView 中加载本地 Web 文件和资源

与UIWebView和之前版本的WKWebView(iOS10和macOS10.12)不同,本地文件的默认加载操作已从Bundle.main.path移动到Bundle.main.url。同样,loadFileURL也成为了WKWebView默认加载本地资源的函数。我知道.path和.url是完全不同的并且在过去都有效-.path历史上是默认的-选择的方法;然而,最新版本的Swift似乎已经破坏了大部分(如果不是全部的话).path解决方案。.path解决方案现在似乎扁平化目录层次结构,将所有CSS、JS和任何其他子目录内容放入一个大目录中。这会在WKWebView尝试加载index.

swift - 如何配置 WKWebView 来填充 NSWindow?

我有一个使用XCode7.2在Swift中开发的小型原型(prototype)应用程序。该应用程序被创建为带有Storyboard的基于Cocoa文档的应用程序。因此,该项目包含AppDelegate.swift,Document.swift和Main.storyboard,所有这些都与XCode生成的相同,并且ViewController.swift,其中包含:importCocoaimportWebKitclassViewController:NSViewController{varwebView:WKWebView{returnviewas!WKWebView}overridef