草庐IT

探秘WKWebView

全部标签

ios - 使用 UIWebView/WKWebView 时出现奇怪的填充

在模拟器和真实设备上,我在页面的左侧和右侧得到了这个白色填充。我也想删除顶部栏。我在Main.storyboard上有UIWebView/WKWebView:我尝试将约束值设置为-20,但它什么也没给出。这里的代码:@IBOutletvarwebView:WKWebView!overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterloadingtheview,typicallyfromanib.self.automaticallyAdjustsScrollViewInsets=false;letur

ios - 在 WKWebView 中启用应用程序缓存

我知道iOSWKWebView不支持离线应用程序缓存。这是在Safari中启用的,所以我在webkit项目中搜索了负责的代码并找到了这个WKPreferences-(void)_setOfflineApplicationCacheIsEnabled:(BOOL)offlineApplicationCacheIsEnabled;有人熟悉这个方法吗?是否可以通过访问此私有(private)方法在iOS中启用应用程序缓存?(我不会将应用程序发送到Appstore) 最佳答案 2022年更新Accordingtooneofthecommen

iOS - 如何以编程方式创建 WKWebView 后退按钮?

我正在尝试为我的iOSWKWebView应用程序创建一个后退按钮,这样当用户单击该按钮时,它会将他们带到上一个WKWebView页面。我找到了许多关于如何使用IB执行此操作的教程,但没有找到直接代码。这是我目前所拥有的:原始ViewController.swift:importUIKitimportWebKitclassViewController:UIViewController,WKNavigationDelegate{privatevarwebView:WKWebView!letwv=WKWebView(frame:UIScreen.mainScreen().bounds)//n

ios - 从 WKWebView 打印 2 页时出现问题

要求:我有一个名为wkWebView的WKWebview对象。我想使用Airprint从我的打印机打印它的内容。我曾经使用UIWebview执行此操作,但运行时javascript方法的要求让我切换到WKWebview。@property(strong,nonatomic)WKWebView*wkWebView;问题:我可以使用下面的代码打印内容。当我打印一页时,它打印得很完美。但是当我尝试打印2页时,第2页先打印,然后是第1页。我想按顺序打印页面。代码:我目前在我的打印方法中使用这段代码:UIPrintInfo*pi=[UIPrintInfoprintInfo];pi.outputT

javascript - WKWebView:加载页面后调用javascript

我正在做以下事情:载入一个WKWebView,我们称这个viewA要求用户输入一些详细信息要求用户点击按钮拦截WKWebView上的点击并在应用程序上推送一个新View,我们将其称为ViewB允许用户在新View中计算结果,然后返回到之前加载的WKWebView现在:我想将我计算的信息添加到之前加载的网页(viewA)。我知道该怎么做的唯一方法是在loadView()方法上加载javascript。但是,当您从viewB导航回到viewA时,不会调用此方法,因为viewA已经加载。当ViewA重新出现时强制重新加载会丢失用户已编辑的字段中的值。这是我必须调用脚本的“标准”代码:over

探秘Runtime - Runtime Message Forward

该文章属于刘小壮原创,转载请注明:刘小壮当一个对象的方法被调用时,首先在对象所属的类中查找方法列表,如果当前类中没有则向父类查找,一直找到根类NSObject。如果始终没有找到方法实现,则进入消息转发步骤中。动态消息解析当一个方法没有实现时,也就是在cachelsit和其继承关系的methodlist中,没有找到对应的方法。这时会进入消息转发阶段,但是在进入消息转发阶段前,Runtime会给一次机会动态添加方法实现。可以通过重写resolveInstanceMethod:和resolveClassMethod:方法,动态添加未实现的方法。其中第一个是添加实例方法,第二个是添加类方法。这两个方法

ios - 强制 WKWebView 显示移动版本

我试图强制WKWebView显示移动版本。我在不同应用程序版本中得到的结果不一致。但是,safari总是正确地播种移动。我试过设置userAgent,似乎没有什么影响View。 最佳答案 实际上,我发现正确的解决方案是在启动应用程序时清除缓存。swift:classfuncclearWebCache(){letwebsiteDataTypes=NSSet(array:[WKWebsiteDataTypeDiskCache,WKWebsiteDataTypeOfflineWebApplicationCache,WKWebsiteDat

ios - WKWebview 注入(inject) cookie header 导致重定向循环

我试图将我单独获取的sessioncookie注入(inject)到WKWebview请求中,结果证明这很痛苦......我设法使用thissolution注入(inject)sessioncookie,如下://Acquiringthecookiesletcookies=HTTPCookie.cookies(withResponseHeaderFields:headers,for:s.request!.url!)//Appendingallthecookiesintoonerawstring.varcookiesRawString=""forcincookies{cookiesRaw

ios - WKWebView 将 pdf 保存到 ibooks,从链接保存 pdf

我是Junior,目前正在WKWebView中的项目中工作,并且有打开pdf的链接。我可以在Safari中打开它,然后在iBooks中打开,但我希望它在我的应用程序中进行。可能吗?下面是图片:我可以选择pdf的图片想象一下它会打开什么我的WebView类classWebVC:UIViewController,WKUIDelegate{varwebView:WKWebView!overridefuncviewDidLoad(){super.viewDidLoad()letmyURL=NSURL(string:"\(savedURL!)")letmyRequest=URLRequest(u

ios - 限制 WKWebView 的域/url

我正在尝试使用UIWebView在我的应用程序中包含一个在线表单,我注意到一旦用户完成表单,他/她就可以导航到不同的地址。有什么方法可以限制webkit的域/url访问?(这曾经可以使用UIWebView示例:https://stackoverflow.com/questions/7673116/restrict-uiwebview-to-certain-pages‌但现在已弃用) 最佳答案 WKWebView可以利用WKNavigationDelegate限制导航。funcwebView(webView:WKWebView,dec