首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

尝试加载本地网站时显示空白页面的WKWebview。如何在控制台中打印错误?

WKWebView是iOS中的一个用于展示网页内容的控件。当尝试加载本地网站时,如果出现空白页面,可以通过以下步骤在控制台中打印错误信息:

  1. 首先,确保已经导入WebKit框架。在代码文件的开头添加以下导入语句:
代码语言:txt
复制
import WebKit
  1. 创建一个WKWebView实例,并设置其代理:
代码语言:txt
复制
let webView = WKWebView()
webView.navigationDelegate = self
  1. 实现WKNavigationDelegate协议中的方法,其中的didFailProvisionalNavigation方法会在加载失败时被调用。在该方法中,可以通过error参数获取加载失败的错误信息,并将其打印到控制台:
代码语言:txt
复制
extension ViewController: WKNavigationDelegate {
    func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) {
        print("加载失败:\(error.localizedDescription)")
    }
}
  1. 确保在加载网页之前,将WKWebView添加到视图层级中:
代码语言:txt
复制
view.addSubview(webView)
  1. 最后,加载本地网站的URL,并观察控制台中的打印信息:
代码语言:txt
复制
if let url = Bundle.main.url(forResource: "index", withExtension: "html") {
    webView.loadFileURL(url, allowingReadAccessTo: url.deletingLastPathComponent())
}

通过以上步骤,当WKWebView加载本地网站时出现空白页面时,控制台会打印出加载失败的错误信息,方便开发者进行调试和排查问题。

关于WKWebView的更多信息和使用方法,可以参考腾讯云的相关产品文档:WKWebView

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

​# iOS WKWebView适配(基础篇)

、生命周期方法(WKNavigationDelegate) 1.请求前决定是否要跳转 用户点击网页上的链接,打开新页面,调用。...2种请求错误: 在“页面开始请求”后 “收到请求响应”前的错误 比如:地址非法,DNS解析地址有问题,本地网络问题 总之是还没有请求到服务器时候的错误,都会返回在这里 - (void)webView:...baseURL:nil]; 5.离线资源包的一点思考 利用离线加载这一特性,我们可以通过服务端资源打包成本地资源包(zip包),通过服务器比对方式下载资源包,解压后放在本地指定的沙盒目录,随后通过wkwebview...加载本地方式打开页面。...max-age={xxx sencods} [image-20200604164303844] 2.NSURLRequestReloadIgnoringLocalCacheData 忽略所有缓存,建议本地加载可以采取这种方式

3.7K30

Hybrid App 应用 开发中 9 个必备知识点复习(WebView 调试 等)

一、iOS 平台中 UIWebView 与 WKWebView 有什么区别?...库加载并使用, UIWebView 中限制了; WKWebView 目前缺少关于页码相关的 API; WKWebView 提供加载网页进度的属性; WKWebView 使用 Safari 相同的 JavaScript...于是我们找到了“为什么WebView总是很慢”的原因之一: 在浏览器中,我们输入地址(甚至在之前),浏览器就可以开始加载页面。...全局 WebView 在客户端刚启动,就初始化一个全局的 WebView 待用,并隐藏,当用户访问了 WebView ,直接使用这个 WebView 加载对应网页,并展示。...当用户访问页面,不需要初始化 WebView 的时间。 当然这也带来了一些问题,包括: 额外的内存消耗。 页面间跳转需要清空上一个页面的痕迹,更容易内存泄露。 2.

3.1K00

【Hybrid】288- Hybrid App 应用开发中 9 个必备知识点复习

一、iOS 平台中 UIWebView 与 WKWebView 有什么区别?...WKWebView 白屏问题 WKWebView 实际上是个多进程组件,这也是它加载速度更快,内存暂用更低的原因。...于是我们找到了“为什么WebView总是很慢”的原因之一: 在浏览器中,我们输入地址(甚至在之前),浏览器就可以开始加载页面。...全局 WebView 在客户端刚启动,就初始化一个全局的 WebView 待用,并隐藏,当用户访问了 WebView ,直接使用这个 WebView 加载对应网页,并展示。...当用户访问页面,不需要初始化 WebView 的时间。 当然这也带来了一些问题,包括: 额外的内存消耗。 页面间跳转需要清空上一个页面的痕迹,更容易内存泄露。 2.

2.3K20

Hybrid App 应用开发中 9 个必备知识点复习

一、iOS 平台中 UIWebView 与 WKWebView 有什么区别?...WKWebView 白屏问题 WKWebView 实际上是个多进程组件,这也是它加载速度更快,内存暂用更低的原因。...于是我们找到了“为什么WebView总是很慢”的原因之一: 在浏览器中,我们输入地址(甚至在之前),浏览器就可以开始加载页面。...全局 WebView 在客户端刚启动,就初始化一个全局的 WebView 待用,并隐藏,当用户访问了 WebView ,直接使用这个 WebView 加载对应网页,并展示。...当用户访问页面,不需要初始化 WebView 的时间。 当然这也带来了一些问题,包括: 额外的内存消耗。 页面间跳转需要清空上一个页面的痕迹,更容易内存泄露。 2.

2.6K20

WKWebView详解

一个WKWebView对象显示交互式的web内容,比如在应用程序内的浏览器。...使用 initWithFrame:configuration: 方法来创建WKWebView对象; 使用 loadHTMLString:baseURL: 方法来加载本地HTML文件; 使用 loadRequest...*)error; 当页面加载内容过程中发生错误时触发 - (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation...WebView用户界面通过实现这个协议来控制新窗口的打开,增强用户单击元素显示的默认菜单项的表现,并执行其他用户界面相关的任务。这些方法可以通过处理JavaScript或其他插件内容来调用。...返回nil则使用默认的预览表现 如果返回一个视图控制器则预览会显示这个视图控制器,并且在用户触发pop操作(继续按压)触发webView:commitPreviewingViewController:

20.2K193

Hybrid App 应用开发中 9 个必备知识点复习

一、iOS 平台中 UIWebView 与 WKWebView 有什么区别?...WKWebView 白屏问题 WKWebView 实际上是个多进程组件,这也是它加载速度更快,内存暂用更低的原因。...于是我们找到了“为什么WebView总是很慢”的原因之一: 在浏览器中,我们输入地址(甚至在之前),浏览器就可以开始加载页面。...全局 WebView 在客户端刚启动,就初始化一个全局的 WebView 待用,并隐藏,当用户访问了 WebView ,直接使用这个 WebView 加载对应网页,并展示。...当用户访问页面,不需要初始化 WebView 的时间。 当然这也带来了一些问题,包括: 额外的内存消耗。 页面间跳转需要清空上一个页面的痕迹,更容易内存泄露。 2.

2.3K30

WKWebView的使用与JS交互详细解读

看网上关于它的博客也是有许多的了,从各个方面总结一下这个WKWebView看网上说它主要是为了和JS做好交互产生的,我们也会相应的尝试一下。就先从它基本的说起!...这个是利用KVO模式写的,WKWebView有一个  estimatedProgress 属性,利用它来监听加载的进度,下面的进度打印出来了,但具体的进度条就没有写出来,你们可以自己写一个 UIProgressView...,要是能加载就有下面的打印信息,注意和上面方法的区分对比!...2.JS端调用alert所传的数据可以通过message,打印message信息读取出JS端给你的信息。...// JS端调用alert所传的数据可以通过message,打印message信息读取出JS端给你的信息。

3K70

WKWebView

WKWebView的内存超过系统分配给它的内存的时候,WKWebView浏览器就会崩溃白屏,但是APP不会crash(APP会收到系统通知,并且尝试去重新加载页面)。...与网页视图关联的用户内容控制器。 websiteDataStore。由网页视图使用的存储的网站数据。 确定页面可扩展性 ignoresViewportScaleLimites。...:(null_unspecified WKNavigation *)navigation { } //页面加载失败时调用 (【web视图加载内容】发生错误) - (void)webView:(WKWebView...当使用 Https 协议加载web内容,使用的证书不合法或者证书过期需要使用该方法. - (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge...显示加载进度条 我们可以通过监听WKWebView的estimatedProgress属性值来实现一个加载进度条,而UIWebView只能是通过timer事件做一个假的加载进度条。

5.9K20

UI篇- UIWebView使用大全

支持内建手势, 据说高达60fps的刷新频率(不卡) WKWebView的创建 导入Webkit这个类库(WKWebVeiw包含在里面的) 遵守协议(一般前两个就行啦,第三个主要是与JS相关的东西...可以加载一个本地资源: //第一种方法: NSString* path = [[NSBundle mainBundle] pathForResource:name ofType:@"html" inDirectory...是文件名称,html是文件类型 [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]]; //加载本地文件...runJavaScriptConfirmPanelWithMessage,WKWebView 和 UIWebView都继承自 UIView,但是奇怪的是,我是用WKWebView面的方法解决了UIWebView...UIWebView 在iOS 11上 当顶部的 y值设为 0 ,是依然无法盖住UIStatusBar区域的,但是滚动就会出现问题了。会出现 UIStatusBar 背后可以看见内容。

1.9K10

分享超详细 WKWebView 开发和使用经验

WKWebView 几个不常用的特性 WKWebview 加载过程中的性能指标图解 WKWebview 秒开的实践及踩坑之路 今天分享的这篇文章全面的介绍了 WKWebView,作者根据开发和使用经验从属性...didStartProvisionalNavigation 当服务器发起重定向请求 didReceiveServerRedirectForProvisionalNavigation 当容器在加载数据发生了错误...URL 为本次网页加载结束后的最终请求 两者 URL 区别在于首次发起 302 跳转的请求 title 为本次网页加载结束的 标签 网页加载 加载在线地址 正常情况下...存储 WKWebsiteDataStore 以下情况中,WKWebView 在主动发送请求不会携带 cookie。...didReceiveServerRedirectForProvisionalNavigation didReceiveServerRedirectForProvisionalNavigation,发生 302 重定向会走该方法 当容器在加载数据发生了错误

4.6K30

Next.js 14 初学者入门指南(下)

通过这个API,你可以为每个页面定义元数据,确保当你的页面被分享或索引显示准确、相关的信息。 1. 静态元数据的配置 静态元数据是指在构建确定的有关页面的信息,并且在运行时不会改变。...title可以是一个字符串或者是一个对象,这取决于你想如何控制标题的显示。...这提供了一个视觉反馈,让用户知道应用正在响应其操作,并且内容正在积极加载中。这样可以避免用户在看到空白页感到困惑或者认为应用出现了问题。...错误恢复功能 在 error.tsx 中,你可以提供恢复功能,重试按钮,允许用户尝试错误中恢复,而无需重新加载整个页面。...独立的路由处理 布局的每个插槽,例如用户分析或收入指标,都可以有自己的加载错误状态。在不同页面部分以不同速度加载或遇到独特错误的场景中,这种细粒度的控制尤其有益。

17610

理解iOS端的WebView同层组件

在iOS中,我们使用WKWebView来创建Web视图,WKWebView在进行解析渲染,会将Web组件渲染到WKCompositingView上,这个View是一个原生的UIView子类,通常WKWebView...在iOS中加载此页面如下: @interface ViewController () @property (nonatomic, strong) WKWebView *webView; @end...在创建WKCompositingView,其Layer的name会包含id信息,这从打印的信息上可以清楚的看到,如下图: 我们能找到对应的容器,就是靠这个Layer的name属性。...现在你可以尝试运行下项目,效果如下图所示: 可以看到,原生组件已经正常渲染到了WebView中,且层级是受CSS控制的,其会出现在Web弹窗组件之下。...下面是一些建议,有兴趣你可以尝试下在iOS端实现一套完整的同层组件渲染框架。 JS与原生的交互命令可以定制一套完整的协议,组件插入,组件更新,组件删除等。

2.6K20

谷歌Chrome浏览器新功能亮相,可有效抵御黑客攻击

简单来说,就是为了防止家中或电脑上的设备(打印机或路由器)遭遇互联网上的不良网站攻击。...当网站尝试连接局域网内其他设备,Chrome 将会确认连接来源的安全性以及目标设备是否允许此类连接。...在谷歌提供的一个示例中,开发人员展示了一个公共网站上的 HTML iframe,它可以执行 CSRF 攻击,改变访问者本地网络路由器的 DNS 配置。...开发人员会在 DevTools 控制台中看到一个警告,让他们有时间在更严格的执行开始之前进行调整。...谷歌阻止网页重载请求 来源:Google 谷歌 该页面将包含一条 "BLOCKED_BY_PRIVATE_NETWORK_ACCESS_CHECKS"谷歌 Chrome 浏览器错误信息,告诉你什么情况下页面无法加载

12510

Flutter 中的Error的捕获及处理

当从 IDE 运行应用时,检查器重写了该方法,错误也被发送到 IDE 的控制台,可以在控制台中检查出错的对象。...默认情况,debug 模式下会显示一个红色背景的错误页面, release 模式下会展示一个灰色背景的空白页面。...Zone 在默认情况下仅会打印错误,而不会执行其他任何操作。 这些回调方法都可以被重写,通常在 void main() 方法中重写。 下面来看看如何处理。...//处理线上错误统计上传 }; runApp(MyApp()); } 上面我们重写了FlutterError.onError,这样就可以捕获到错误,第一行代码就是将error展示到控制台,这样我开发就会在控制台很方便的看到错误...定义一个自定义的 error widget,以当 builder 构建 widget 失败显示,请使用 MaterialApp.builder。

2.5K10
领券