Maison  >  Article  >  Applet WeChat  >  Partagez la solution au problème de la redirection des pages blanches dans le mini-programme WeChat

Partagez la solution au problème de la redirection des pages blanches dans le mini-programme WeChat

黄舟
黄舟original
2018-05-24 09:26:106849parcourir

Cet article présente principalement les informations pertinentes sur la solution à la redirection des pages blanches de l'applet WeChat. Les amis dans le besoin peuvent se référer à la

La solution à la redirection des pages blanches de l'applet WeChat.

Au début, le fichier d'entrée du mini programme pointait directement vers la page d'accueil de la barre d'onglets. A ce moment, un problème est survenu : le scan du code QR n'a pas fermé la page d'accueil pour la première fois. temps, et n'est pas passé par le processus onLoad lors de la deuxième saisie des paramètres de scène d'analyse

Explication officielle : le cycle de vie déclenché par le mode de saut de barre de tabulation est onShow, sans onLoad, comme indiqué ci-dessous :

À ce moment-là, en discutant du problème de redirection avec mes amis, j'ai pensé que cela pouvait être fait en utilisant une méthode similaire, alors je l'ai immédiatement mis en œuvre :

Ajoutez pages/index/index (fichier d'entrée), pages/home/home (tabbar) à la page d'accueil de la page app.json), pages/detail/detail (page de détails/exclusive/exclusive

Traitement onLoad dans index.js :

/**
  * 生命周期函数--监听页面加载
  */
 onLoad: function (options) {
  // 入口文件 决定进入哪个页面
  console.log('入口文件,参数scene,值detail%2C1127')
  var scene = options.scene; //扫码进入有此参数
  var scene = decodeURIComponent(options.scene);
  if (scene) {
   //'scene=detail%2C1127' 分隔符, 测试时为 , 号;真机时为%2C 原因是url编码,但是使用decodeURI()解析不出来,所以走了兼容
   
   let info_arr = [];
   info_arr = scene.split(',');
   //console.log(info_arr)
   let _type = info_arr[0];
   let id = info_arr[1];
   if (_type == 'detail') {
    wx.redirectTo({ url: `../detail/detail?id=${id}`, })
   } else if (_type == 'exclusive') {
    wx.redirectTo({ url: `../exclusive/exclusive?id=${id}`, })
   }
  }else{
   wx.switchTab({
    url: '../home/home',
   })
  }
 },
À ce moment-là, ce qui résout parfaitement le problème de ne pas pouvoir atteindre -->détail après avoir scanné le code QR -->accueil -->détail; scanner à nouveau le code QR -->accueil

Scannez le code QR à ce moment-->index (redirectTo)-->détail; >index (redirectTo)-->problème de détail ; après la page d'accueil

Étant donné que la page d'accueil contient un grand nombre de requêtes, redirectTo ne convient donc pas ; cette méthode est donc considérée comme un choix de compromis

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn