Bradorego'nun çözümü benim için işe yarayan şeydi, ancak burada daha geniş bir yanıt var.
Küçük bir husus, vücudu %20
yerine kullanarak kodlamanız gerektiğidir +
. PHP için bu, rawurlencode($body)
yerine kullanmak anlamına gelir urlencode($body)
. Aksi takdirde, iOS'un eski sürümlerinde boşluk yerine mesajda artı işaretleri görürsünüz.
İOS cihazları için SMS bağlantılarınızı yeniden düzenleyecek bir jQuery işlevi burada. Android / diğer cihazlar normal şekilde çalışmalı ve kodu yürütmemelidir.
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;');
});
})();
Mümkünse a.sms-link
yerine bir sınıf kullanmayı düşünün a[href^="sms:"]
.