HTMLリンクを使用して、事前に入力された本文でSMSアプリを開く方法
私が読んだすべては、sms:18005555555?body = bodyTextHereを示しているようです
動作するはずですが、iPhoneでは動作しません。 ?body = bodyTextHereを取り出し、sms:phonenumberを使用するだけで機能します。
QRコードがサファリリンクを介してこれを行ういくつかの事例を見てきました。彼らはどのようにして本文に事前入力できますか?
少しハッキーですが、これは100%可能です。
Androidで動作させるには、次の形式を使用する必要があります。
<a href="sms:/* phone number here */?body=/* body text here */">Link</a>
IOSで動作させるには、次のものが必要です。
<a href="sms:/* phone number here */;body=/* body text here */">Link</a>
ライブデモはこちら: http://bradorego.com/test/sms.html (「Phone and?body」と「Phone and; body」は、 :フィールドと本文テキスト。詳細についてはソースをご覧ください)
UPDATE:
どうやらiOS8は私たちに物事を変えなければならなかったので、他のコメント者/レスポンダーのおかげで、iOS用の新しいスタイルがあります:
<a href="sms:/* phone number here */&body=/* body text here */">Link</a>
(電話番号はオプションです)
私はこれが古いスレッドであることを知っていますが、それにつまずいて、いくつかの部分がもはや関係ないことを発見しました。
電話番号を追加せずにテキストのみを入力する場合は、次のことができることがわかりました。
sms:?&body=/* message body here */
IOS 8の場合、これを試してください:
<a href="sms:/* phone number here */&body=/* body text here */">Link</a>
「;」の切り替え「&」が私のために働いた。
すべてのシンボルをこの順序で配置するだけです(コードの観点から見て最も意味があるので、この順序でテストしただけです)。
本文リンクに注意してください...私はただ... ;?&body=
を置きました。また、スペースには%20
を使用する必要があることがわかりました。
IPhone(v。9.2)および別のAndroidでテストしましたが、正常に動作します。
これにより、さまざまなデバイスでハッキングする必要があるという問題が解決します。 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>
AndroidとiOSの2つの別個のアンカータグは必要ありません。これが役立つはずです。
//連絡先番号なし<a href="sms:?&body=message">Text Message</a>
//連絡先番号付き<a href="sms:1234567890;?&body=message">Text Message</a>
// AndroidとiOSの両方で動作します
提案された方法を見つけてテストしました:
<a href="sms:12345678?body=Hello my friend">Send SMS</a>
結果は次のとおりです。
したがって、私はそれが実際に機能しないと結論付けます-少なくともこの方法では。
Javascriptを使用せずにiPhoneとAndroidの両方で機能するsms:およびmailto:リンクを取得するには、次を試してください。
<a href="sms:321-555-1111?&body=This is what I want to sent">click to text</a>
<a href="mailto:[email protected]?&subject=My subject&body=This is what I want to sent">click to email</a>
ChromeでAndroidとiPhone、およびiPhoneのSafariでテストしました。
これらはすべて期待どおりに機能しました。彼らは電話番号やメールアドレスがなくても働きました。
<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;
})
ブラドレゴのソリューションは私にとってはうまくいったものですが、ここではより拡張された答えがあります。
小さな考慮事項は、%20
の代わりに+
を使用して本文をエンコードする必要があることです。 PHPの場合、これはrawurlencode($body)
の代わりにurlencode($body)
を使用することを意味します。そうしないと、スペースの代わりにiOSの古いバージョンでメッセージにプラス記号が表示されます。
IOSデバイスのSMSリンクを再調整するjQuery関数を次に示します。 Android /その他のデバイスは正常に動作し、コードを実行しません。
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;');
});
})();
可能であれば、a.sms-link
の代わりにa[href^="sms:"]
などのクラスを使用することを検討してください。
IPhoneはメッセージテキストを受け付けません。電話番号のみを取り込みます。これはここで見ることができます https://developer.Apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html#//Apple_ref/doc/uid/TP40007899-CH7-SW1
IOSとAndroidについて心配する必要があるだけでなく、どのAndroidメッセージングアプリもあります。 Note 9および一部の新しい銀河用のGoogleメッセージングアプリはテキストで開きませんが、samsungアプリは動作します。解決策は、SMSの後に//を追加するようです:
so sms:// 15551235555
<a href="sms:/* phone number here */?body=/* body text here */">Link</a>
あるべき
<a href="sms://15551235555?body=Hello">Link</a>
ほとんどのアプリケーションでは、誰にテキストを送信すればよいかわからないので、番号ではなくテキスト本文のみを埋めたいと考えています。これは、数字を省略するだけで期待どおりに機能します。その場合、URLは次のようになります。
sms:?body=message
IOSの場合は;以外は同じです。
sms:;body=message
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;
Androidを使用するには、以下のコードを使用します
<a href="sms:+32665?body=reg fb1>Send SMS</a>
IOSの場合、以下のコードを使用できます
<a href="sms:+32665&body=reg fb1>Send SMS</a>
iOとAndroidの両方で機能する以下のコード
<a href="sms:+32665?&body=reg fb1>Send SMS</a>
<a href="sms:/* phone number here */&body=/* body text here */">Link</a>
これは私のiPhone 5Sで動作します!
OSのバージョンごとに異なる方法があります。 sms-link library を見てください
(ほんの少しのトピック)、しかし、もし検索したなら、ここでつまずくかもしれません...In markdown(parsedownおよびiOS/Androidでテスト済み) :
[Link](sms:phone_number,?&body=URL_encoded_body_text)
//[send sms](sms:1234567890;?&body=my%20very%20interesting%20text)
iPhone 4でIOS 7で、リストに電話番号を設定した場合にのみ、SMSにボディを配置できることがわかりました。電話の連絡先。
0606060606が私の連絡先の一部である場合、以下が機能します。
<a href="sms:0606060606;body=Hello my friend">Send SMS</a>
ちなみに、iOS 6(iPhone 3GS)では、本体のみで動作しています:
<a href="sms:;body=Hello my friend">Send SMS</a>
Click-to-Textリンクの問題の1つは、ネイティブテキストメッセージアプリが存在しないデスクトップシナリオを解決することです。解決策は、ZipwhipのClick-to-Textボタンクリエーターを使用することです。