web-dev-qa-db-ja.com

HTMLリンク経由でSMS本文テキストを事前入力する方法

HTMLリンクを使用して、事前に入力された本文でSMSアプリを開く方法

私が読んだすべては、sms:18005555555?body = bodyTextHereを示しているようです

動作するはずですが、iPhoneでは動作しません。 ?body = bodyTextHereを取り出し、sms:phonenumberを使用するだけで機能します。

QRコードがサファリリンクを介してこれを行ういくつかの事例を見てきました。彼らはどのようにして本文に事前入力できますか?

100
merlincam

少しハッキーですが、これは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>

(電話番号はオプションです)

161
Bradley Orego

私はこれが古いスレッドであることを知っていますが、それにつまずいて、いくつかの部分がもはや関係ないことを発見しました。

電話番号を追加せずにテキストのみを入力する場合は、次のことができることがわかりました。

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

IOS 8の場合、これを試してください:

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

「;」の切り替え「&」が私のために働いた。

39
landen

すべてのシンボルをこの順序で配置するだけです(コードの観点から見て最も意味があるので、この順序でテストしただけです)。

本文リンクに注意してください...私はただ... ;?&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>
30
Nathan Sharfi

AndroidとiOSの2つの別個のアンカータグは必要ありません。これが役立つはずです。

//連絡先番号なし
<a href="sms:?&body=message">Text Message</a>

//連絡先番号付き
<a href="sms:1234567890;?&body=message">Text Message</a>

// AndroidとiOSの両方で動作します

10
aayushdrolia

提案された方法を見つけてテストしました:

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

結果は次のとおりです。

  • iPhone4-障害(メッセージの空の本文);
  • Nokia N8-OK(メッセージ本文-「こんにちは、私の友人」、「12345678」へ);
  • HTC Mozart-障害(「サポートされていないページ」メッセージ(「SMSを送信」リンクをクリックした後));
  • HTC Desire-エラー(メッセージ「無効な受信者:
    <12345678?body = Hellomyfriend> "([SMSを送信]リンクをクリックした後)。

したがって、私はそれが実際に機能しないと結論付けます-少なくともこの方法では。

10
Ben

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でテストしました。
これらはすべて期待どおりに機能しました。彼らは電話番号やメールアドレスがなくても働きました。

5
Debbie V
<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
hkongm

ブラドレゴのソリューションは私にとってはうまくいったものですが、ここではより拡張された答えがあります。

小さな考慮事項は、%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:"]などのクラスを使用することを検討してください。

4
Radley Sustaire

IPhoneはメッセージテキストを受け付けません。電話番号のみを取り込みます。これはここで見ることができます https://developer.Apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html#//Apple_ref/doc/uid/TP40007899-CH7-SW1

3
A. Z.

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>
2
Dan Parker

ほとんどのアプリケーションでは、誰にテキストを送信すればよいかわからないので、番号ではなくテキスト本文のみを埋めたいと考えています。これは、数字を省略するだけで期待どおりに機能します。その場合、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;
1
Lemon Kazi

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>
1
Pankaj Chauhan
<a href="sms:/* phone number here */&body=/* body text here */">Link</a>

これは私のiPhone 5Sで動作します!

1
Kim

OSのバージョンごとに異なる方法があります。 sms-link library を見てください

0
Ghigo

(ほんの少しのトピック)、しかし、もし検索したなら、ここでつまずくかもしれません...In markdown(parsedownおよびiOS/Androidでテスト済み) :

   [Link](sms:phone_number,?&body=URL_encoded_body_text)
   //[send sms](sms:1234567890;?&body=my%20very%20interesting%20text)
0
user6200044

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

Click-to-Textリンクの問題の1つは、ネイティブテキストメッセージアプリが存在しないデスクトップシナリオを解決することです。解決策は、ZipwhipのClick-to-Textボタンクリエーターを使用することです。

  • デスクトップでは、ユーザーの入力から実際の実際のテキストメッセージをバックグラウンドで送信します。
  • IOSまたはAndroidでは、代わりにネイティブテキストメッセージ機能を使用できます。

https://www.zipwhip.com/create-sms-button/

0
John Lauer