Frage Wie man den SMS Körpertext über einen HTML-Link vorbelegt


Wie verwende ich einen HTML-Link, um die SMS-App mit einem vorgefüllten Textkörper zu öffnen?

Alles, was ich gelesen habe scheint darauf hinzuweisen, dass SMS: 18005555555? Body = bodyTextHere

Sollte funktionieren, aber auf dem iPhone funktioniert das nicht. Wenn ich den? Body = bodyTextHere heraushole und einfach sms: phonenumber benutze, funktioniert es.

Ich habe mehrere Fälle gesehen, in denen QR-Codes dies über einen Safari-Link tun. Wie können sie den Fließtext vorbelegen?


75
2018-06-25 20:55


Ursprung


Antworten:


Es stellt sich heraus, dass dies zu 100% möglich ist, allerdings ein wenig hacky.

Wenn Sie möchten, dass es unter Android funktioniert, müssen Sie folgendes Format verwenden:

<a href="sms:/* phone number here */?body=/* body text here */">Link</a>

Wenn Sie möchten, dass es unter iOS funktioniert, benötigen Sie Folgendes:

<a href="sms:/* phone number here */;body=/* body text here */">Link</a>

Live Demo hier: http://bradorego.com/test/sms.html (beachten Sie die "Telefon und? Körper" und "Telefon und; Körper" sollte sowohl das zu: Feld und den Text automatisch ausfüllen. Sehen Sie die Quelle für weitere Informationen)

AKTUALISIEREN:

Scheinbar musste iOS8 gehen und Dinge ändern, also gibt es, dank einiger anderer Kommentatoren / Responder, einen neuen Stil für iOS:

<a href="sms:/* phone number here */&body=/* body text here */">Link</a>

(Telefonnummer ist optional)


133
2017-10-01 21:32



Versuchen Sie für iOS 8 Folgendes:

<a href="sms:/* phone number here */&body=/* body text here */">Link</a>

Das ";" mit einem "&" hat für mich gearbeitet.


34
2017-09-26 20:21



Ich weiß, dass dies ein alter Thread ist, bin aber darüber gestolpert und habe festgestellt, dass einige Teile nicht mehr relevant sind.

Ich habe festgestellt, dass Sie Folgendes tun können, wenn Sie den Text einfach auffüllen möchten, ohne eine Telefonnummer hinzuzufügen:

sms:?&body=/* message body here */

30
2018-01-26 12:31



Platziere einfach alle Symbole in dieser Reihenfolge (ich habe es nur in dieser Reihenfolge getestet, da es für mich am meisten Sinn macht).

Hinweis für den Körper Link ... Ich habe nur ... ;?&body=. Beachten Sie auch, dass ich gefunden habe, dass ich verwenden musste %20 für irgendwelche Räume.

Ich habe es auf meinem iPhone (v. 9.2) und einem anderen Android getestet und es funktioniert gut.

Dies wird das Problem lösen, indem man es für verschiedene Geräte hacken muss. Ich habe keine Artefakte, als ich es in der SMS getestet habe.

<a href="sms:19131234567;?&body=Question%20from%20mywebsite.com.%20%20MY%20MESSAGE%20-%20" title="Click here to TEXT US gallery token needs updating!">Send me SMS</a>

16
2017-08-01 21:03



Wir haben eine vorgeschlagene Methode gefunden und getestet:

<a href="sms:12345678?body=Hello my friend">Send SMS</a>

Hier sind die Ergebnisse:

  • iPhone4 - Fehler (leerer Nachrichtentext);
  • Nokia N8 - ok (Nachrichtentext - "Hallo mein Freund", To "12345678");
  • HTC Mozart - Fehler (Meldung "nicht unterstützte Seite" (nach Klick auf den "SMS senden" -Link));
  • HTC Desire - Fehler (Meldung "Ungültige Empfänger:
    <12345678? Body = Hellomyfriend> "(Klicken Sie auf den Link" SMS senden ")).

Ich komme daher zu dem Schluss, dass es nicht wirklich funktioniert - zumindest mit dieser Methode.


10
2017-10-30 11:44



Das iPhone akzeptiert keinen Nachrichtentext, es nimmt nur die Telefonnummer an. Sie können das hier sehen https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html#//apple_ref/doc/uid/TP40007899-CH7-SW1


4
2018-06-25 21:05



<a href="###" data-telno="13800000000" data-smscontent="hello" class="XXXXX XXXXXX XXXXXX sendsms"/>

$('.sendsms').on('click', function(){
    var p = $(this).data('telno'),
        c = $(this).data('smscontent'),
        t = ';';

    if (!ios) { // add your own iOS check
        t = '?';
    }
    location.href = 'sms:'+ p + t + c;
})

4
2017-12-23 08:26



Bradoregos Lösung hat mir geholfen, aber hier ist eine erweiterte Antwort.

Eine kleine Überlegung ist, dass Sie den Körper mit verwenden müssen %20 Anstatt von +. Für PHP bedeutet das Verwenden rawurlencode($body) Anstatt von urlencode($body). Andernfalls sehen Sie anstelle von Leerzeichen Pluszeichen in der Nachricht auf alten iOS-Versionen.

Hier ist eine jQuery-Funktion, die Ihre SMS-Links für iOS-Geräte neu erstellt. Android / andere Geräte sollten normal funktionieren und den Code nicht ausführen.

HTML:

<a href="sms:+15551231234?body=Hello%20World">SMS "Hello World" to 555-123-1234</a>

jQuery:

(function() {
  if ( !navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ) return;

  jQuery('a[href^="sms:"]').attr('href', function() {
    // Convert: sms:+000?body=example
    // To iOS:  sms:+000;body=example (semicolon, not question mark)
    return jQuery(this).attr('href').replace(/sms:(\+?([0-9]*))?\?/, 'sms:$1;');
  });
})();

Erwägen Sie, eine Klasse wie a.sms-link Anstatt von a[href^="sms:"] wenn möglich.


3
2018-02-12 19:40



Um sms: und mailto: -Links auf iPhone und Android ohne Javascript zu erhalten, versuchen Sie Folgendes:

<a href="sms:321-555-1111?&body=This is what I want to sent">click to text</a>


<a href="mailto:someone@sample.com?&subject=My subject&body=This is what I want to sent">click to email</a>

Ich habe es auf Chrome für Android & iPhone und Safari auf dem iPhone getestet.
Sie alle arbeiteten wie erwartet. Sie arbeiteten ohne die Telefonnummer oder E-Mail-Adresse.


3
2017-08-24 16:19