草庐IT

wkwebview-bridge

全部标签

objective-c - 从 WKWebView 获取 favicon.co

我正在为OSX和iOS使用新的wkWebView。对于作为图标的webview的演示,我需要所显示URL的图标。在旧的webview中,我可以使用函数:varmainFrameIcon:NSImage!{get}如何在Swift或Objective-C中使用wkWebView获取图像? 最佳答案 新的WKWebView类似乎没有任何公共(public)内置图标,但有一种简单的方法可以检索它。由于网站将faviconurl存储在/favicon.ico中,因此您只需从webView中获取主机url,将/favicon.ico添加到末尾

ios - WKWebView 将谷歌搜索结果显示为原始 html

我正尝试在我正在使用iOSWKWebView开发的应用程序中添加网络浏览器。但是WKWebView加载了谷歌搜索结果的原始html。https://i.imgur.com/LJemP75.jpg这是我使用的部分代码:letconfiguration=WKWebViewConfiguration()configuration.allowsInlineMediaPlayback=truewebView=WKWebView(frame:CGRect.zero,configuration:configuration)webView.translatesAutoresizingMaskIntoC

swift - 在 macOS 中禁用 WKWebview 的弹跳滚动

尝试在macOS中禁用WKWebview的弹跳滚动,但是macOS中的WKWebview没有“scrollView”letwebView=WKWebView(frame:view.frame)print(webView.scrollView) 最佳答案 可以通过覆盖WKWebView类来禁用滚动:classNoScrollWebView:WKWebView{overridefuncscrollWheel(withtheEvent:NSEvent){nextResponder?.scrollWheel(with:theEvent)re

ios - WKWebView 两次询问位置权限

我有一个简单的iOSSwift应用leturl=URL(string:"https://www.mycustompage.com")!webView.load(URLRequest(url:url))在Info.plist中,我允许所有隐私位置权限。关于https://www.mycustompage.com有一个用于定位用户的HTML按钮。现在我遇到了一个问题,我的应用程序两次请求位置权限。一次用于应用程序,一次用于WKWebView。如何禁用对WebView的请求!?谢谢 最佳答案 我猜这是因为您的网页正在询问位置,而Safar

ios - 项目名称更改后重新生成 Bridging-Header 和 -Swift.h 文件

我之前构建了一个包含Swift和ObjectiveC组件的键盘扩展项目。我想基于我以前的应用构建一个新的键盘应用,其简单目标是更改名称、键盘UI和一些键盘力学。我遵循了指南here关于复制和重命名XCode项目。我什至设法让项目在更改BundleID后进行编译(对于容器应用程序和底层键盘)。但是,由于Targets的名称现在已更改,我收到以下文件的错误:#import"NewNameContainerApp-Swift.h"#import"NewNameContainerApp-Bridging-Header.h"无法找到(尽管我手动将OldNameContainerApp-Bridg

ios - WKWebView 在后台应用程序时停止音频

我有一个正在播放HTML5视频的WKWebView。当我点击主页按钮并且应用程序进入后台时,我仍然可以听到音频播放。如何暂停HTML5视频以停止播放背景音频。我尝试在应用程序进入后台时加载一个空白页面,这是可行的,leturl=URL(string:"about:blank")letrequest=URLRequest(url:url!)self.webView.load(request)但我希望能够在用户从后台返回时的同一点开始播放视频,因此这不是一个可行的解决方案,因为它只是在我重新打开应用程序时加载空白页面。 最佳答案 我能够

ios - 使用 iOS 11 在 WKWebView 中自动播放 YouTube 视频

我想在我的应用中安装小型YouTube播放器。我发现推荐的唯一方法是将带有YouTube播放器的网页嵌入到我的应用程序中。所以我使用了WKWebView并使用autoplay参数加载了嵌入的YouTube播放器页面:https://www.youtube.com/embed/VUbsFtLkGN8?autoplay=1。代码如下:letwebConfiguration=WKWebViewConfiguration()letwebView=WKWebView(frame:.zero,configuration:webConfiguration)letyoutubeURL=URL(stri

swift - WKWebView 在边框内显示 pdf,我不想要边框

我有一个自定义View,它添加了一个像这样的WKWebView:overridefuncawakeFromNib(){super.awakeFromNib()loadWebView()}funcloadWebView(){pdfWebView=WKWebView(frame:.zero)pdfWebView.navigationDelegate=selfpdfWebView.translatesAutoresizingMaskIntoConstraints=falsepdfWebView.isHidden=trueself.addSubview(pdfWebView)...addcon

ios - NSUserDefault 自定义对象错误 - "array cannot be bridged from Objective-C"

在包含returngoal//**//的行上,我的程序崩溃并给出错误:“fatal:arraycannotbebridgedfromObjective-C”。有谁知道这是从哪里来的吗?funcsaveGoals(goals:[Goal]){varupdatedGoals=NSKeyedArchiver.archivedDataWithRootObject(goals)NSUserDefaults.standardUserDefaults().setObject(updatedGoals,forKey:"Goals")NSUserDefaults.standardUserDefaults

ios - WKwebview内容覆盖顶部状态栏

我关注了this创建一个WKwebview的教程,它可以工作但有一个问题。顶部状态栏被webView的内容覆盖。既然webView是containerView,那webView在代码中怎么去到状态栏下面呢。谢谢importUIKitimportWebKitclassViewController:UIViewController{@IBOutletvarmainView:UIView?varwebView:WKWebView?overridefuncloadView(){super.loadView()//callparentloadViewself.webView=WKWebView(