перенаправление места на "смс: 123454" не работает при загрузке страницы

Ниже приведен код, который я получил для перенаправления местоположения на приложение SMS, когда пользователь находится на мобильном устройстве browser-

window.onload = function() {
    window.location ="sms:12345?body=" + encodeURIComponent("TEST");
}

Этот код отлично работает на скрипте JS при работе на мобильной ссылке JS Fiddle - https://jsfiddle.net/netstarter/rwqyp2tn/1/

Ответ 1

Самый простой и подходящий способ сделать это - создать скрытую ссылку и запустить ее напрямую.

window.onload = () => {
  let element = document.getElementById("hiddenAppLink");
  element && element.click();
};
<!DOCTYPE html>
<html>
<body>
<a href='sms:12345?body=${encodeURIComponent("ITR")}' id="hiddenAppLink"></a>
</body>
</html>

Ответ 2

URL-адрес SMS работает только в том случае, если вы собираетесь открыть новый URL-адрес SMS. Он не работает, когда вы вручную вводите URL-адрес или используете перенаправление window.location.

Для этого вы можете использовать два метода:

  1. Открыть скрытую ссылку.

  2. Используйте window.open (это может потребовать, чтобы пользователь разрешил всплывающие окна на вашей странице)

1. Откройте скрытую ссылку.

Создайте скрытую ссылку и откройте ее.

window.onload = function() {
  let elem = document.getElementById("loadSMS");
  elem && elem.click();
}
<a href="sms:1-111-1111?body=Blah" style="display:none" id="loadSMS">
</a>