Pertanyaan Bagaimana cara mengisi teks isi sms melalui tautan html


Bagaimana cara menggunakan tautan html untuk membuka aplikasi sms dengan badan yang sudah diisi?

Semua yang saya baca sepertinya mengindikasikan bahwa sms: 18005555555? Body = bodyTextHere

Harus berfungsi, tetapi di iPhone, ini tidak berfungsi. Jika saya mengeluarkan? Body = bodyTextHere, dan cukup gunakan sms: phonenumber, itu berhasil.

Saya telah melihat beberapa contoh di mana kode QR melakukan ini melalui tautan safari. Bagaimana mereka dapat mengisi teks tubuh terlebih dahulu?


75
2018-06-25 20:55


asal


Jawaban:


Ternyata ini adalah 100% mungkin, meskipun sedikit hacky.

Jika Anda ingin bekerja di Android, Anda perlu menggunakan format ini:

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

Jika Anda ingin bekerja di iOS, Anda memerlukan ini:

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

Demo langsung di sini: http://bradorego.com/test/sms.html (perhatikan "Telepon dan badan" dan "Telepon dan badan" harus mengisi otomatis bidang ke: dan teks isi. Lihat sumber untuk info lebih lanjut)

MEMPERBARUI:

Rupanya iOS8 harus pergi dan mengubah banyak hal pada kami, jadi terima kasih kepada beberapa komentator / responden lainnya, ada gaya baru untuk iOS:

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

(nomor telepon adalah opsional)


133
2017-10-01 21:32



Untuk iOS 8, coba ini:

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

Mengganti ";" dengan "&" bekerja untukku.


34
2017-09-26 20:21



Saya tahu ini adalah thread lama tetapi tersandung pada itu dan menemukan bahwa beberapa bagian tidak lagi relevan.

Saya telah menemukan bahwa jika Anda ingin hanya mengisi teks tanpa menambahkan nomor telepon, Anda dapat melakukan hal berikut:

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

30
2018-01-26 12:31



Masukkan saja semua simbol dalam urutan ini (saya hanya mengujinya dalam urutan ini karena itu membuat kode yang paling bijaksana bagi saya).

Perhatikan untuk tautan body ... Saya hanya meletakkan ... ;?&body=. Juga, perhatikan bahwa saya telah menemukan bahwa saya perlu menggunakannya %20 untuk ruang apa pun.

Saya telah mengujinya di iphone saya (v. 9.2) dan android lain dan itu bekerja dengan baik.

Ini akan menyelesaikan masalah dengan harus meretasnya untuk perangkat yang berbeda. Saya tidak memiliki artefak ketika saya mengujinya di SMS.

<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



Kami menemukan metode yang diusulkan dan diuji:

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

Berikut hasilnya:

  • iPhone4 - gangguan (badan pesan kosong);
  • Nokia N8 - ok (badan pesan - "Halo teman saya", Kepada "12345678");
  • HTC Mozart - kesalahan (pesan "halaman yang tidak didukung" (setelah klik pada "Kirim sms" tautan));
  • HTC Desire - fault (pesan "Invalid recipients (s):
    <12345678? Body = Hellomyfriend> "(setelah klik pada tautan" Kirim sms ")).

Karena itu saya menyimpulkan itu tidak benar-benar bekerja - dengan metode ini setidaknya.


10
2017-10-30 11:44



IPhone tidak menerima teks pesan apa pun, hanya akan mengambil nomor telepon. Anda dapat melihat ini di sini 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



Solusi Bradorego adalah apa yang berhasil untuk saya, tetapi inilah jawaban yang lebih luas.

Pertimbangan kecil adalah bahwa Anda perlu mengkodekan tubuh menggunakan %20 dari pada +. Untuk PHP, ini berarti menggunakan rawurlencode($body) dari pada urlencode($body). Jika tidak, Anda akan melihat tanda plus dalam pesan di iOS versi lama, bukan spasi.

Berikut adalah fungsi jQuery yang akan mereplikasi tautan SMS Anda untuk perangkat iOS. Android / perangkat lain seharusnya berfungsi normal dan tidak akan mengeksekusi kode.

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;');
  });
})();

Pertimbangkan untuk menggunakan kelas seperti a.sms-link dari pada a[href^="sms:"] jika memungkinkan.


3
2018-02-12 19:40



Untuk mendapatkan sms: dan mailto: tautan untuk berfungsi di iPhone dan Android, tanpa javascript, coba ini:

<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>

Saya mengujinya di Chrome untuk Android & iPhone, dan Safari di iPhone.
Mereka semua bekerja sesuai harapan. Mereka bekerja tanpa nomor telepon atau alamat email juga.


3
2017-08-24 16:19



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

Ini berfungsi pada iPhone 5S saya!


1
2018-02-19 18:57



Saya curiga di sebagian besar aplikasi Anda tidak akan tahu siapa yang harus mengirim teks, jadi Anda hanya ingin mengisi badan teks, bukan nomornya. Yang berfungsi seperti yang Anda harapkan dengan hanya meninggalkan nomor - inilah tampilan URL dalam kasus tersebut:

sms:?body=message

Untuk iOS hal yang sama kecuali dengan;

sms:;body=message

Berikut ini contoh kode yang saya gunakan untuk mengatur SMS:

var ua = navigator.userAgent.toLowerCase();
var url;

if (ua.indexOf("iphone") > -1 || ua.indexOf("ipad") > -1)
   url = "sms:;body=" + encodeURIComponent("I'm at " + mapUrl + " @ " + pos.Address);
else
   url = "sms:?body=" + encodeURIComponent("I'm at " + mapUrl + " @ " + pos.Address);

   location.href = url;

1
2017-08-26 11:17