我正在使用WKWebview开发简单的网络浏览器。我可以使用自定义Javascript检测SPA的url何时更改,例如trello。这种方式在amp页面中不起作用。(谷歌的加速移动页面)我尝试将print("webView.url")放入所有WKNavigationDelegate函数但是我无法检测到amp页面url的变化。但是webView有amp页面url,我想将amp页面url保存到本地存储。 最佳答案 同样的问题。不幸的是,WKWebView仅在整个页面加载发生时才触发其功能。所以我们要做的是在WebKit.url属性上使用
我正在尝试构建一个简单的WKWebView应用程序,它将在WebView中显示Google。该应用程序运行良好;然而,在实现WKWebView后,应用程序不再显示窗口。它只是简单地启动应用程序(在dock中),看不到NSView。ViewController.swiftimportCocoaimportWebKitclassViewController:NSViewController{varwebView:WKWebView?overridefuncloadView(){self.webView=WKWebView()self.view=self.webView!leturl=NSU
我正在尝试让我的混合IOS应用程序使用Swift和WKWebviews打开一个包含target="_blank"的链接,或者如果URL包含http://、https://或MobileSafari中的mailto:。来自thisanswer我得到这个代码。funcwebView(webView:WKWebView!,createWebViewWithConfigurationconfiguration:WKWebViewConfiguration!,forNavigationActionnavigationAction:WKNavigationAction!,windowFeature
我们有一个示例HTML页面,它只链接.js文件:sample.html:.js文件实际上只是:test.jsfunctionmyFunction(){return"hello";}所以我只想评估该Javascript函数(目前)。在Swift文件中:letwebView=WKWebView(frame:.zero,configuration:WKWebViewConfiguration())letpath=Bundle.main.url(forResource:"sample",withExtension:"html")!lettext=try!String(contentsOf:pa
我正在使用cordova-plugin-wkwebview-engine插件在Cordova中运行我的html5应用程序。因为WKWebView的架构,webview是在另外一个线程加载的。现在,当我从Cordova打开另一个线程(例如,使用相机插件拍照)并且iOS在相机View处于事件状态时发出内存警告时,webview被杀死。显然WKWebViewView像后台线程一样处理并被停止。现在当相机返回时,应用程序是空白的(白屏),因为webView不再存在。在UIWebView中(由于在WKWebView中性能更好,我们放弃了它)在应用程序的主线程上运行,因此从未被杀死。有什么方法可以
在iOS11中,Apple添加了在您的Nib和Storyboard上添加WKWebViewssocket的功能集。使用自动设置的默认WKWebViewConfiguration时,它似乎工作正常。但是,我希望能够使用自定义WKWebViewConfiguration。无论如何,我可以在WKWebView从Nib初始化之前或之后设置它吗? 最佳答案 Let'sExampleyourcustomizeconfiguration.NSString*jScript=@"varmeta=document.createElement('meta
我需要从WKWebview的请求中读取响应HTTPheader。我需要根据服务器发送的某些自定义header执行自定义。无法将此信息添加到响应数据中。我在文档中和之前的问题中都找不到任何条目。有什么办法吗? 最佳答案 看起来您可以从WKNavigationDelegate方法访问响应webView:decidePolicyFor:decisionHandler:.设置一些对象作为WKWebView的navigationDelegate,并添加这个方法:-(void)webView:(WKWebView*)webViewdecideP
NSUserDefaults*prefs=[NSUserDefaultsstandardUserDefaults];[prefssetObject:self.webViewforKey:@"webView"];上面的代码是为了保存一个WKWebView对象,但我遇到了一个编译器错误:2014-11-0814:58:52.561Restoration[2431:482391]Propertylistinvalidforformat:200(propertylistscannotcontainobjectsoftype'CFType')2014-11-0814:58:52.564Resto
所以我们正在开发一个iPhone应用程序(iOS9+,而不是8),我们使用WKWebView和本地文件来启动它。为了将数据导入应用程序,我们计划使用一种安全服务,该服务也将处理身份验证,并认为CORS是实现这一目标的方式。但是,从文件系统加载文件会将HTTP请求中的来源设置为null,当我们还想发送cookie(用于身份验证)时,这是不允许的。所以我的问题是:我们可以在WKWebView中设置一个原点来覆盖null吗?用类似https://acme.server.net的东西?其他人(您)在做什么?我们是否应该考虑做CORS以外的其他事情?(JSONP不是一个选项)。
当用户长按链接时,会出现带有以下选项的警报Controller:打开在新标签页中打开复制目前有两个问题:如果用户在WKWebView完成导航之前执行长按,则会出现默认(Safari的)警报Controller。如果用户在弹出动画发生后抬起手指,WKWebView会将其注册为点击并导航到该链接,同时警报Controller仍显示在屏幕上。该机制分为三个部分。首先,在WKWebView完成导航后,javascript将被注入(inject)禁用默认警报Controller的页面。-(void)webView:(WKWebView*)webViewdidFinishNavigation:(W