Desactivar el botón Atrás del navegador integrado de WeChat
Al hacer clic en la capa de máscara que aparece en la imagen, no solo quiero poder hacer clic en la capa de máscara para cerrarla, sino que también quiero poder Haga clic en el botón físico Atrás de Android para cerrarlo, lo que genera un problema, es decir, el navegador integrado de WeChat pensará que volver a la página anterior requiere el uso del botón Atrás, y no quiero que esto suceda. suceder.
Si tienes amigos que usan el SDK de WeChat, es posible que puedas usar el método wx.previewImage() para resolver este problema. Esta también es la mejor práctica, pero no la mencioné en mi artículo. proyecto el SDK de WeChat, por lo que necesito manejar el botón físico de retroceso de Android por separado.
Gracias a este artículo, encontré la manera:
donde window.history.pushState() agrega un enlace a una página vacía en el proceso del historial, haciendo clic en la página del botón Atrás está vacío, lo que genera una condición de "no retorno", que aparentemente inhabilita la capacidad de Android para regresar a una página. Aparentemente, esto desactiva el botón físico de retroceso de Android.
Pero esto no es perfecto, porque en las pruebas encontrarás que pushHistory no funciona después de ejecutarlo una vez, introduciendo así un nuevo error: desactiva el botón Atrás una vez, pero si el usuario ¿Qué pasa con más de ¿Uno o dos golpes con manos temblorosas? La respuesta es: volver a la página anterior en lugar de cerrar la máscara directamente.
Bien, todo lo que tenemos que hacer es agregar una declaración similar a: $('.modal').hide(); ¡y listo!
Dado que estoy usando el marco weui en mi proyecto, la capa de máscara debería llamarse "visor de imágenes" en mi proyecto, y el método para hacer desaparecer el visor de imágenes debería ser pb.close ();
Llegados a este punto, hemos solucionado la confusión. Jaja, espero que ayude.