programing

html 링크를 통해 sms 본문 텍스트를 미리 채우는 방법

css3 2023. 7. 4. 22:03

html 링크를 통해 sms 본문 텍스트를 미리 채우는 방법

미리 채워진 본문으로 sms 앱을 열기 위해 html 링크를 사용하는 방법은?

내가 읽은 모든 것은 sms:18005555555?body=bodyTextHere로 표시됩니다.

작동해야 하지만 아이폰에서는 작동하지 않습니다.?body=body를 꺼내면여기에 문자를 보내고 sms:phone number를 사용하면 됩니다.

저는 사파리 링크를 통해 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"는 to: 필드와 본문 텍스트를 모두 자동으로 채워야 합니다.자세한 내용은 소스 보기)

업데이트:

분명히 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어떤 공간에 대해서도.

제 아이폰(v.9.2)과 다른 안드로이드에서 테스트해봤는데 잘 작동합니다.

이렇게 하면 여러 장치에 대해 해킹해야 하는 문제가 해결됩니다.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용으로 별도의 앵커 태그가 두 개 필요하지 않습니다.이것이 도움이 될 것입니다.

번호
<a href="sms:?&body=message">Text Message</a>

번호
<a href="sms:1234567890;?&body=message">Text Message</a>

Android와 iOS 모두에서 작동합니다.

AndroidiOS 본체만 해당:

<a href="sms://;?&body=Hello%20World">Only body</a>

AndroidiOS는 본문만 있는 수신자:

<a href="sms://+15552345678;?&body=Hello%20World">one recipient only with body</a>

본문이 있는 Android 다중 수신자만:

<a href="sms://+15552345678, +15552345679;?&body=Hello%20World">Android multiple recipients with body</a>

본문이 있는 iOS 다중 수신자만:

<a href="sms://open?addresses=+15552345678,+15552345679;?&body=Hello%20World">iOS multiple recipients with body</a>

본문은 URI로 인코딩되어야 합니다.

제안된 방법을 찾아 테스트했습니다.

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

결과는 다음과 같습니다.

  • iPhone4 - 오류(메시지 본문이 비어 있음);
  • Nokia N8 - ok (메시지 본문 - "Hello my friend", "12345678"로);
  • HTC Mozart - 고장("지원되지 않는 페이지" 메시지("Send sms" 링크 클릭 후);
  • HTC 욕망 - 결함("fault"):
    <12345678?body=Hello my friend>("Sms 보기내클후" 링릭크후클릭▁body링("크shello"")

그러므로 저는 적어도 이 방법으로는 효과가 없다고 결론짓습니다.

2022년에 작동하는 솔루션을 원하는 사람들을 위해 iOS, macOS, Android에 맞는 형식을 자동으로 사용하는 작은 웹 앱을 설정했습니다.

https://copy.gives/18005555555?body=Body+text+here

하며 에는 *이중슬래시를 사용해야 한다는 입니다./&

따라서 각각의 작동 URL은 다음과 같습니다.

sms://18005555555/&body=Body%20text%20here - iOS and macOS
sms://18005555555/?body=Body%20text%20here - Android

에 하십시오./& 및 Apple 치및/? »

여기에서 몇 가지 작업 예제를 사용할 수 있습니다(내장되어 작동하지 않음).

https://jsfiddle.net/thatguysam/swLtjh0q/

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:someone@sample.com?&subject=My subject&body=This is what I want to sent">click to email</a>

안드로이드와 아이폰은 크롬에서, 아이폰은 사파리에서 테스트했습니다.
그들은 모두 예상대로 일했습니다.그들은 또한 전화번호나 이메일 주소 없이 일했습니다.

Android를 사용하는 경우 아래 코드를 사용합니다.

<a href="sms:+32665?body=reg fb1>Send SMS</a>

iOS의 경우 아래 코드를 사용할 수 있습니다.

<a href="sms:+32665&body=reg fb1>Send SMS</a>

아래 코드는 iOS와 Android 모두에서 작동합니다.

<a href="sms:+32665?&body=reg fb1>Send SMS</a>

브라도레고의 해결책은 저에게 효과가 있었습니다. 하지만 여기 좀 더 확장된 답이 있습니다.

사항은 작은고사다음사용본여인것한다입니다는야코해문딩을을 사용하여 본문을 인코딩해야 입니다.%20+PHP의, 은 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-linka[href^="sms:"]가능하면.

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

아이폰은 메시지 문자를 받지 않고 전화번호만 받습니다.https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html #//apple_ref/doc/uid/TP40007899-CH7-SW1에서 확인할 수 있습니다.

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

이것은 내 아이폰 5S에서 작동합니다!

대부분의 응용 프로그램에서 누구에게 문자를 보내야 할지 모르기 때문에 번호가 아닌 텍스트 본문만 채우려고 합니다.숫자를 생략하면 예상대로 작동합니다. 이 경우 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;

iOS와 Android에 대해 걱정해야 할 뿐만 아니라 어떤 Android 메시징 앱도 있습니다.노트9 및 일부 새로운 갤럭시용 구글 메시징 앱은 텍스트로 열리지 않지만 삼성 앱은 작동합니다.솔루션은 sms 뒤에 //를 추가하는 것 같습니다.

sms://1555123555

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

그래야 한다

<a href="sms://15551235555?body=Hello">Link</a>

(약간의 주제) 하지만 검색을 해보면 여기서 넘어질 수도 있습니다.가격 인하(iOS/안드로이드에서 파싱 다운 및 테스트)에서 다음을 수행할 수 있습니다.

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

iOS 11+에서 수신자 없이 본문만 메시지로 SMS 앱을 여는 기능에 어려움을 겪고 있습니다.

위의 솔루션 중 저에게 적합한 것이 하나도 없습니다. 전혀 열리지 않거나 수신자에 미리 입력된 것(예: '; )으로 열립니다.

마지막으로 본문에 대한 구문을 사용했습니다.

sms:///?body=Hello%20World

iOS 14까지 사용되었고, 잘 작동했습니다!

?body= //for Android
&body= //for iOS

범용 링크 사용 tel & ? 본체

<a href="sms://+123456789&?body=url works on android and also ios">link ios+android</a>

https://output.jsbin.com/puqicel

ios+sys를 연결

<a href="sms://+123456789&?body=url works on android and also ios">link ios+android</a>

IOS 7이 탑재된 아이폰 4에서는 전화 연락처 목록에서 전화번호를 설정해야만 SMS에 본문을 넣을 수 있다는 것을 알게 되었습니다.

06060606이 내 연락처의 일부일 경우 다음과 같이 작동합니다.

<a href="sms:0606060606;body=Hello my friend">Send SMS</a>

그런데 iOS 6(아이폰 3GS)에서는 몸 하나만으로 작동합니다.

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

모든 OS 버전은 이를 수행하는 방법이 다릅니다.sms-link 라이브러리 보기

클릭 투 텍스트 링크의 문제 중 하나는 네이티브 텍스트 앱이 없는 데스크톱 시나리오를 해결하는 것입니다.해결책은 Zipwip의 Click-to-Text 버튼 작성기를 사용하는 것입니다.

  • 바탕 화면에서, 그들은 사용자의 입력에서 실제 실제 텍스트 메시지를 뒤로 보냅니다.
  • iOS나 Android에서는 대신 네이티브 문자 기능을 사용할 수 있습니다.

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

현재 Android와 iPhone 모두 SMS 하이퍼링크에 있는 본문 복사 요소를 지원하지 않습니다.프로그래밍 방식으로 할 수는 있지만,

MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
picker.messageComposeDelegate = self;

picker.recipients = [NSArray arrayWithObject:@"48151623"];  
picker.body = @"Body text.";

[self presentModalViewController:picker animated:YES];
[picker release];

언급URL : https://stackoverflow.com/questions/6480462/how-to-pre-populate-the-sms-body-text-via-an-html-link