Pregunta

Tengo un formulario en una página web con una acción que es "mailto:email" (donde correo electrónico es una dirección de correo electrónico real).Cuando cargo esta página en Mobile Safari en modo normal (es decir, no iniciada desde la pantalla de inicio con el modo compatible con la aplicación), funciona bien: después de enviar el formulario, aparece la aplicación de correo electrónico.Sin embargo, cuando estoy en el modo compatible con la aplicación y lo he iniciado desde la pantalla de inicio (es decir, sin Safari Chrome) y envío el formulario, aparece el error "No se puede mostrar la URL".Sin embargo, un correo normal a:enlace (es decir, no en un formulario) hace funciona cuando está en modo compatible con aplicaciones.

¿Alguien más ha notado esto?¿Alguna solución?¿No se permiten formularios en el modo compatible con aplicaciones?

Gracias,

elisabeth

¿Fue útil?

Solución

Esto describe con precisión el tema. No hay nada malo con el enlace de correo, el enlace mailto no se puede cargar. A menudo, los accidentes webapp.

Lo curioso es que tel: enlace de los números de teléfono funciona bien

.

window.location.replace funciona en realidad. Gracias!

Aquí está el jQuery para solucionar este problema de forma automática ...

$('a[href^=mailto]').click(function (event) {
    event.preventDefault();
    window.location.replace = $(this).attr('href');
    return false;
});

Otros consejos

Creo que lo he descubierto.Noté que cuando estoy en el modo compatible con la aplicación, cualquier enlace http lo sacará de la aplicación e iniciará una ventana de safari móvil separada, lo llevará a la página y mostrará Safari Chrome.Tiene sentido (normalmente uno no vincularía a nada desde una aplicación web compatible con aplicaciones "todo en uno").Me di cuenta de esto porque implementé una aplicación de 4 páginas con mi propia "barra de pestañas" en la parte inferior y estaba vinculando los archivos .html con enlaces http simples en el elemento a.Cuando reemplazo esto con una función de JavaScript para cargar las páginas usando document.location.replace, esto no sucede.

Entonces, en el formulario, creo que lo que debe estar sucediendo es que debido a que estoy usando un esquema (en este caso, mailto:), de alguna manera se necesita el navegador en "modo normal" para interpretar el esquema y hacer lo correcto al iniciar la aplicación de correo electrónico y esto claramente no funciona al enviar un formulario.Todavía no he encontrado nada en la documentación de Apple específicamente sobre esto, así que si alguien conoce los detalles técnicos, ¡publíquelo!

ACTUALIZAR:Descubrí que puedo acceder a un script del lado del servidor usando un formulario en modo de aplicación web, por lo que todavía tengo curiosidad sobre el mailto:problema, si alguien tiene una respuesta.

Gracias,

elisabeth

Estoy teniendo el mismo problema exacto con los enlaces de correo no funcionan en el modo capaz web. Me acaban de hacer la presentación de un informe de error a Apple. Vamos a ver lo que pasa, por su parte he encontrado otro prog. plataforma para aplicaciones web que funciona en el modo capaz web y los enlaces de correo de trabajo, pero es curioso cómo funciona en este aun - que no es tan fluido como en Safari. Porque incluso en esta nueva herramienta web dev que he encontrado, se cierra la aplicación e inicia el cliente de correo, que es cojo. En Safari simplemente se desliza en una ventana de correo que se desliza hacia atrás a cabo si se golpea cancelar o enviar -. En realidad no cerrar la aplicación

Esta es una solución que no depende de jQuery:

aTmp = document.createElement("a");
aTmp.href="mailto:example@example.com?subject=Test&body=Hello.";
aTmp.click();

Actualización: para ejecutar el código de un bookmarklet que tiene que esperar alrededor de 1000 ms antes de que el bisel de marcadores está cerrado y el navegador está listo para responder. Me di cuenta de esto, envolviendo el código en una función setTimeout.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top