Можно ли проверить, поддерживает ли браузер / ОС пользователя данный тип ссылки, используя javascript?

Можно ли проверить, поддерживает ли пользовательская ОС / браузер заданную схему URL, используя javascript (или что-то еще)?

Например, mailto: не настраивается на компьютере большинства пользователей, которые используют только веб-почту. Можно ли каким-то образом отловить попытки щелкнуть ссылку "mailto" и вызвать более подробное объяснение, чем сообщение об ошибке браузера?

2 ответа

Решение

Можно ли каким-то образом отловить попытки щелкнуть ссылку "mailto" и вызвать более подробное объяснение, чем сообщение об ошибке браузера?

Я не знаю, что вы можете определить, поддерживает ли браузер mailto: ссылки. Но что касается присоединения логики к ссылкам mailto, вы можете переключаться между ссылками на странице и проверять их href значение. Если он начинается с "mailto:", вы можете прикрепить всплывающее окно после нажатия на него.

var maillinks = document.getElementsByTagName("a");
var (var i = 0; i < maillinks.length; i++) {
  var currentlink = maillinks[i];
  if (currentlink.href.substring(0,7) === "mailto:") {
    alert("Sorry. These aren't allowed.");
    return false;
  }
}

Единственное реальное решение этой проблемы, о котором я могу подумать, - это разместить свою собственную страницу контактов, предоставив небольшую форму, которую пользователь может отправить.

В общем случае - я так не думаю.

В конкретном случае mailto: - нет.

Чтобы решить проблему, которую вы должны описать, вам нужно знать, есть ли у пользователя настроенный почтовый клиент, а не если браузер поддерживает mailto:. Большинство браузеров поддерживают mailto:, и если у пользователя нет настроенного клиента - он все еще "работает" (запуская почтовый клиент и предлагая пользователю настроить его).

Другие вопросы по тегам