Frage

Ich habe ein Formular auf einer Webseite mit einer Aktion bekommt, das „mailto: E-Mail“ (wo E-Mail eine echte E-Mail-Adresse ist). Als ich diese Seite in Mobile Safari im normalen Modus geladen werden (dh nicht vom Home-Bildschirm mit App-fähigen Modus gestartet), das funktioniert gut - nachdem ich das Formular abgesendet hat, kommt der E-Mail-App auf. Allerdings, wenn ich in App-fähigen Modus bin, und haben aus dem Home-Bildschirm (also keine Safari Chrom), und senden Sie das Formular ich den Fehler gestartet „URL kann nicht angezeigt werden“. Allerdings ist eine regelmäßige mailto:. Link (dh nicht in einer Form) hat Arbeit, wenn sie in App-fähigen Modus

Hat jemand das bemerkt? Alle mögliche Abhilfen? Sind nicht erlaubt Formulare im App-fähigen Modus?

Danke,

Elisabeth

War es hilfreich?

Lösung

Das beschreibt genau das Problem. Es ist nichts falsch mit dem Mail-Link, der Mail-Link Last versagt. Oft ist die Webapp abstürzt.

Das Komische ist, dass Tel.: Link für Telefonnummern funktionieren

window.location.replace tut in-fact Arbeit. Dank!

Hier ist die jQuery dieses automatisch zu beheben ...

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

Andere Tipps

Ich glaube, ich dies herausgefunden habe. Ich habe bemerkt, wenn in App-fähigen Modus jeder HTTP-Link Sie aus der App nehmen und ein separates mobilen Safari-Fenster starten, nehmen Sie auf der Seite und zeigt die Safari Chrom. Das macht Sinn (in der Regel würde man nicht zu irgendetwas von einem „alle in one“ app-fähigen Web-App. Das merkte ich, weil ich eine 4 Seite App mit meiner eigenen „Tab-Leiste“ am unteren Rande implementiert und wurde unter der Verknüpfung. hTML-Dateien mit einfachen http-Links in einem Element. Wenn ich mit einem Javascript-Funktion ersetzen diese document.location.replace dies nicht der Fall mit den Seiten zu laden.

Also, auf der Form - ich denke, was passiert werden muss, ist, dass, weil ich ein Schema bin mit (in diesem Fall mailto :) irgendwie der Browser in „normalen Modus“ benötigt wird, um die Regelung zu interpretieren und das Recht zu tun was durch den E-Mail-App starten und dies eindeutig nicht funktioniert, wenn ein Formular abgeschickt werden. Ich habe noch nicht alles in der Apple-Dokumentation speziell dazu gefunden, also wenn jemand die technischen Details kennt, bitte senden Sie!

UPDATE: Ich fand, dass ich eine serverseitige Skript zugreifen kann ein Formular in Web-App-Modus, so dass ich immer noch neugierig bin über das mailto:. Problem, wenn jemand eine Antwort hat

Danke,

Elisabeth

Ich habe genau das gleiche Problem mit Mailto-Links funktionieren nicht in der Web-fähig Modus. Ich habe nur getan, einen Fehlerbericht an Apple senden. Lassen Sie uns sehen, was passiert, inzwischen ich einen anderen Entwickler gefunden. Plattform für Web-Anwendungen, die in Web-fähig Modus arbeiten und Mailto-Links arbeiten, aber es ist komisch, wie es in dieser auch funktioniert - es ist nicht so flüssig ist, wie es in Safari ist. Denn auch in diesem neuen Web-Entwickler-Tool, das ich gefunden, schließt es die App und starten Mail-Client, der lahm. In Safari-Fenster es nur Dias in einer E-Mail, dass Dias wieder heraus, wenn Sie stornieren oder senden getroffen -. Es nicht eigentlich in der Nähe App funktioniert

Hier ist eine Abhilfe, die nicht auf JQuery abhängt:

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

Update: Um diesen Code aus einem Bookmarklet laufen Sie 1000 ms vor den Lesezeichen warten müssen Lünette geschlossen ist und der Browser bereit ist, zu reagieren. Ich erkannte dies, indem Sie den Code in einer setTimeout Funktion Verpackung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top