Solusi Bradorego adalah yang berhasil untuk saya, tetapi ini adalah jawaban yang lebih luas.
Pertimbangan kecil adalah Anda perlu menyandikan tubuh menggunakan, %20
bukan +
. Untuk PHP, ini berarti menggunakan rawurlencode($body)
sebagai pengganti urlencode($body)
. Jika tidak, Anda akan melihat tanda plus di pesan di versi lama iOS, bukan spasi.
Ini adalah fungsi jQuery yang akan memperbaiki tautan SMS Anda untuk perangkat iOS. Android / perangkat lain seharusnya berfungsi normal dan tidak akan menjalankan 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
daripada a[href^="sms:"]
jika memungkinkan.