自定义错误页

在加载小程序时,如果网络加载失败或无法打开网站,会出现类似“网络无法连接 (-1009)”的报错。

本文介绍如何自定义上述报错。

操作步骤

自定义报错页面可分为以下 2 步:

  1. 在 H5 基类中监听 kEvent_Navigation_Error 方法。 通过 MPH5WebViewController () <PSDPluginProtocol> 接口,引入 - (void)handleEvent:(PSDEvent *)event 方法:

     - (void)handleEvent:(PSDEvent *)event
     {
         [super handleEvent:event];
    
             if ([kEvent_Navigation_Error isEqualToString:event.eventType]) {
             [self handleContentViewDidFailLoad:(id)event];
         }
     }

    handleContentViewDidFailLoad 方法如下:

     - (void)handleContentViewDidFailLoad:(PSDNavigationEvent *)event
     {
         PSDNavigationEvent *naviEvent = (PSDNavigationEvent *)event;
         NSError *error = naviEvent.error;
         [MPH5ErrorHelper handlErrorWithWebView:(WKWebView *)self.psdContentView error:error];
     }
  2. afterDidFinishLaunchingWithOptions 方法中设置 error 页面以及 H5 基类。 其中,errorHtmlPath 是当 H5 页面加载失败时展示的 HTML 错误页路径,默认读取 MPNebulaAdapter.bundle/error.htmlmyerror 代码如下:

     <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <title>Document</title>
     </head>
     <body>
         自定义报错信息
     </body>
     </html>