Страница не доступна. Страница по адресу tel:1000 не может быть загружена, поскольку: net::ERR_UNKNOWN_URL_SCHEME

Вопрос или проблема

Я создаю мобильное приложение с использованием фреймворка Phoenix, и хочу, чтобы при нажатии пользователем кнопки вызова набирался этот номер.

Вот что я пробовал:

  1. <a class="text-zinc-900 text-sm font-medium" href="tel:10000" target="_blank"><%= gettext("10000") %></a>

  2. <a class="text-zinc-900 text-sm font-medium" href="tel:10000"><%= gettext("10000") %></a>

3.<a onclick="window.open('tel:10000')" class="external">10000</a>

  1. <button class="bg-red-500" id="dial_button" phx-hook="Dial">Позвонить 10000</button>
    и в javascript файле
    `const Dial ={
    mounted(){
    const call = document.getElementById(“dial_button”)

    call.addEventListener("click", function(){        
             window.location.href = "tel:10000";
    })
    

    }
    }
    export default Dial;`

Пожалуйста, если у вас есть идеи, как я могу сделать это другим способом, дайте мне знать.

Ответ или решение

Проблема, с которой вы столкнулись, связана с ошибкой net::ERR_UNKNOWN_URL_SCHEME, которая возникает, когда браузер не может распознать указанный URL-адрес. В вашем случае это происходит из-за попытки использовать схему tel: для инициирования телефонного звонка, что не всегда поддерживается в веб-контексте или для некоторых версий браузеров.

Вот несколько рекомендаций и альтернативных подходов, которые могут помочь вам правильно реализовать функцию совершения звонка в вашем мобильном приложении на основе Phoenix Framework:

  1. Используйте правильный HTML-синтаксис:
    Убедитесь, что ссылка имеет правильный синтаксис. Например:

    <a class="text-zinc-900 text-sm font-medium" href="tel:10000">10000</a>

    Убедитесь, что в href указана правильная форма, и избегайте ошибок синтаксиса, таких как двойные кавычки.

  2. Используйте JavaScript для обработки события клика:
    Ваш текущий подход с JavaScript в целом правильный, но убедитесь, что вы правильно инициализируете и добавляете обработчики событий. Например:

    <button class="bg-red-500" id="dial_button">Call 10000</button>

    В файле JavaScript:

    const Dial = {
       mounted() {
           const callButton = document.getElementById("dial_button");
           callButton.addEventListener("click", function() {
               window.location.href = "tel:10000";
           });
       }
    };
    
    export default Dial;

    Убедитесь, что phx-hook подключен и что скрипты загружаются корректно.

  3. Проверьте настройки вашего устройства:
    Убедитесь, что ваше устройство или браузер поддерживает вызовы через tel:. Некоторые эмуляторы или браузеры на компьютере могут не поддерживать эту функцию. Проверьте на мобильном устройстве.

  4. Используйте подход с window.open:
    Вы также можете попытаться использовать метод window.open() для вызова, хотя для ссылок на телефоны это может не всегда сработать:

    callButton.addEventListener("click", function() {
       window.open("tel:10000");
    });
  5. Отладка и тестирование:
    Попробуйте использовать инструменты разработчика в вашем браузере, чтобы отследить любые ошибки или предупреждения, которые могут помочь понять, почему ссылка не работает.

  6. Альтернативный подход с использованием фреймворков:
    Если вышеперечисленные методы не работают, рассмотрите возможность использования библиотек или плагинов, которые могут упростить взаимодействие с вызовами. Например, библиотеки, которые обеспечивают более надежную маршрутизацию для мобильных приложений.

Если вы следуете указанным рекомендациям и у вас все еще есть трудности, возможно, стоит изучить аналогичные проблемы на форумах разработчиков или в документации к используемым вами технологиям.

Оцените материал
Добавить комментарий

Капча загружается...