我在我的应用程序中使用自定义字体。它们被复制到bundle并硬编码到appName-info.plist。这种字体在整个应用程序和UIWebView中都能完美运行。我正在加载htmlString[webViewloadHTMLString:htmlStringbaseURL:nil];我在带有css的webView中使用这种字体:fontFamily:fontName但是当我尝试使用WkWebView自定义字体时不起作用。WkWebView显示随机默认字体。我尝试使用基本url中的主包路径加载它并在css中使用font-face-WkWebView仍然显示随机字体。如何让自定义字体在W
我的ViewController显示一个WKWebView。我安装了一个消息处理程序,这是一个很酷的WebKit功能,它允许我的代码从网页内部得到通知:overridefuncviewDidAppear(animated:Bool){super.viewDidAppear(animated)leturl=//...self.wv.loadRequest(NSURLRequest(URL:url))self.wv.configuration.userContentController.addScriptMessageHandler(self,name:"dummy")}funcuserC
我正在更新我的iOS应用程序以将UIWebView替换为WKWebView。但是我不明白如何使用WKWebView实现相同的行为。对于UIWebView,我使用了scalesPageToFit来确保网页显示的大小与屏幕大小相同(以便在不滚动的情况下显示全屏)。我在网上找到了这个解决方案,但是它不起作用:-(void)webView:(WKWebView*)webViewdidCommitNavigation:(WKNavigation*)navigation{NSString*javascript=@"varmeta=document.createElement('meta');met
似乎XCode6beta中的IB对象模板仍在创建旧式对象(iOS的UIWebView和OSX的WebView)。希望Apple会为现代WebKit更新它们,但在那之前,在InterfaceBuilder中创建WKWebViews的最佳方法是什么?我应该创建一个基本View(UIView或NSView)并将其类型分配给WKWebView吗?我在网上找到的大多数示例都以编程方式将其添加到容器View中;出于某种原因,这样更好吗? 最佳答案 您是对的-它似乎不起作用。如果您查看标题,您会看到:-(instancetype)initWith
WKWebView不打开任何具有target="_blank"的链接a.k.a.HTML中的“在新窗口中打开”属性-标签。 最佳答案 我的解决办法是取消导航,重新用loadRequest:加载请求。这将出现类似于UIWebView的类似行为,它总是在当前框架中打开新窗口。实现WKUIDelegate委托(delegate)并将其设置为_webview.uiDelegate。然后执行:-(WKWebView*)webView:(WKWebView*)webViewcreateWebViewWithConfiguration:(WKWe
我正在尝试将现有应用程序从UIWebView切换到WKWebView。当前应用程序在webview之外管理用户登录/session,并将身份验证所需的cookies设置到NSHTTPCookieStore中。不幸的是,新的WKWebView不使用NSHTTPCookieStorage中的cookies。还有其他方法可以实现吗? 最佳答案 仅适用于iOS11+的编辑使用WKHTTPCookieStore:letcookie=HTTPCookie(properties:[.domain:"example.com",.path:"/",.
有谁知道如何用Xcode9GM修复这个错误?我正在开发一个使用Xcode8.3制作的应用程序,部署目标是针对iOS9.3的,我以前从未遇到过这个问题。我在这里或Apple论坛上找不到任何信息:(编辑:当我将WKWebView放入界面生成器时出现此错误,如果我以编程方式使用它则不会。编辑2:好吧,这终于不是错误,请参阅下面Quinn的回答以了解有关此行为的更多信息。感谢他的解释。 最佳答案 该错误是正确的行为,而不是Xcode9中的错误。虽然WKWebView是在iOS8中引入的,但在-[WKWebViewinitWithCoder:
因为我对这个有点疯狂,所以我决定再试一次并在这里发布它。所以...我有一个带有WKWebView的简单Swift/Cocoa应用程序我加载了一个本地HTML文件(它与其余的.css/.js依赖项一起被复制到/web文件夹内的包中)。完整代码如下:IBANValidatorValidateif(typeofmodule==='object'){window.module=module;module=undefined;}if(typeofwindow.jQuery!=='undefined'){window.document.getElementById("loader_overlay"
我正在从WKWebView的主包或文档目录加载pdf文件。它最初加载完美,但它显示灰色背景,如果我在标签栏Controller中切换标签后返回同一屏幕,pdf内容将变得不可见。这是我用来加载的代码classViewController:UIViewController{@IBOutletvarprogressView:UIProgressView!@IBOutletvarwebView:WKWebView!varpdfURLS:URL?overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterload
我想在不同的webView中登录同一站点的多个帐户。例如,我有一个TabBarController,它包含三个viewcontrollers,每个viewcontrollers都包含webView。例如,我在每个类中为webView嵌入了stackoverflowurl。用户如何使用这三个webView同时登录不同的账户?我已经试过了,但我一次只能登录一个用户。我发现我需要为每个UIWebView创建单独的cookie,但大多数答案都在objective-c中,而不是我想要的正确答案。例如(FirstSecondThird)谁能告诉我该怎么做?classFirstViewControl