我写了一些代码来保存WKWebView的ScrollView的contentOffset和zoomScale,因此它们可以在webView加载后恢复。我发现设置这些scrollView属性只能使用延迟(例如使用DispatchQueue.main.asyncAfter())。为什么这是必要的?有没有更好的方法来实现这个?importUIKitimportWebKitclassViewController:UIViewController,WKNavigationDelegate{varcontentOffset=CGPoint.zerovarzoomScale:CGFloat=1.0l
如果我在WKWebView中将HTML文档(不比屏幕宽)显示为iPad或iPhone上的全屏View,它会按预期滚动,仅垂直滚动,根本不会水平滚动。如果在UISplitViewController的详细View中显示相同的WKWebView,它将有一种奇怪的橡皮筋水平滚动行为。文档以正确的宽度显示,但您可以左右拉出文档。放手后,它会弹回。这是我试图在SplitViewController中显示的Web系统的可用性问题。有谁知道为什么会这样,是否有可能导致WKWebView使用正常的滚动行为? 最佳答案 这是因为父UISplitVie
看到WKWebview不支持post请求,我使用旧的UIWebView来加载post请求,但不幸的是页面本身没有加载。在webview委托(delegate)中,响应为200,但在webview和我注意到的调试控制台中没有看到任何内容WF:_userSettingsForUsermobile:{filterBlacklist=();filterWhitelist=();restrictWeb=1;useContentFilter=0;useContentFilterOverrides=0;whitelistEnabled=0;}我已经在plist中为url“192....”添加了应用程
我正在开发一个应用程序,其中的一些代码是从另一个开发人员那里继承来的,带有一个加载html文件的WebView。在html文件中是电话号码和网络链接。长按会打开电话号码,但html链接打不开。我希望它们可以通过短按打开,但短按没有任何反应。如果我长按,系统对话框会弹出一个“打开”选项,但按“打开”没有任何反应。这是我刚才的代码:#import"IntroductionViewController.h"@interfaceIntroductionViewController()@end@implementationIntroductionViewController@synthesize
我正在考虑创建一个UITableView。UITableView中的每个单元格都包含一个水平滚动的UICollectionView。每个UICollectionViewCell基本上都有一个WKWebView作为其唯一内容。我正在考虑大约有10行,每行有10个单元格。每个WKWebView都会加载少量的javascript(以显示项目-名称、图像等)。我知道如何完成上述任务。我的问题是-这是显示100位javascript的明智方法,还是100只是一个页面的WKWebViews的可恶数量?如果处理得当,结果会好吗?如果这个计划不是离谱的,我会很高兴听到任何我应该注意的陷阱。提前致谢。
我正在实现一个微型浏览器,因此我希望能够在我的WebView上前后导航。出于这些目的,我使用WKWebView,但有时我需要显示错误html页面,并且我不希望将此页面存储在我的WKBackForwardList中。有没有办法从WKBackForwardList中删除一项?我想这是一个非常普遍的问题,那么,我是否必须实现自己的历史功能? 最佳答案 现在很清楚WKBackForwardList是不可变的(例如,不能修改)。但是你可以通过搞乱本地网络服务器来实现这个结果。您创建一个错误页面,由本地网络服务器提供服务,并在出现错误时将其加载
我已经实现了公认的解决方案here它确实适用于一些网站。例如:访问www.tomcruise.com并单击他的预告片。这些链接中的每一个都有target="_blank"并在实现之前链接的堆栈溢出帖子中建议的解决方案后开始打开。但现在我发现如果我们去here然后点击任何链接(我试过的那个,在写这个问题时,有一个href标签,如下所示http://www.nowmagazine.co.uk/celebrity-news/victoria-and-david-beckham-fighting-to-be-together-296082当我从WKWebView内部单击此链接时,下面的WKUI
我试图在IOSWKWebview上读取我的本地JSON文件。但是无法加载资源:Access-Control-Allow-Origin不允许Originnull。我以前使用过UIWebview,它工作正常。但是,当我更改为WKWebview时,会发生此错误。$.ajax({type:'GET',url:'json_app/country_state_json.json?callback=?',async:false,jsonpCallback:'jsonCallback',contentType:'application/json',dataType:'jsonp',success:fu
除了使用以下方法之外,还有其他方法可以获取iOS浏览器UserAgent字符串吗?请帮忙。WKWebView*webView=[[WKWebViewalloc]initWithFrame:self.view.bounds];[webViewloadHTMLString:@""baseURL:nil];[webViewevaluateJavaScript:@"navigator.userAgent"completionHandler:^(id__nullableuserAgent,NSError*__nullableerror){NSLog(@"%@",userAgent);}];
我正在为一个外观和行为都像杂志的网站构建原生iOS包装器。它会有很长的滚动页面,但用户也可以在章节之间滑动。因此,我想要做的是加载一个新的HTML页面,但让它从左侧或右侧过渡,就好像它已被插入/弹出导航堆栈一样。有谁知道是否可以在WKWebView组件中注入(inject)一些核心动画来实现这种效果? 最佳答案 实现此目的的一种方法是在两个WKWebView之间制作动画。您加载您的第一个WKWebView,然后,当您激活转换时,您创建第二个WKWebView,将其放置在屏幕外并在将当前webView移动到屏幕外的同时为其入口设置动画