2010-02-16 4 views
5

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

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

+0

Не то, чтобы это помогло вам, но некоторые браузеры (например, Firefox) позволяют пользователям настраивать «mailto» ссылки для перехода на свою веб-почту, поэтому даже если у них нет (не веб-почты) почтового клиента, они ОК. – Ken

+0

Да, я хотел бы помочь пользователям в таких браузерах, у которых нет настроенного mailto, чтобы настроить свою электронную почту для обработки mailto, но это сложно, потому что я не знаю, как найти этих пользователей, и пользователи, у которых нет этой настройки, также являются пользователями, которые не собираются искать помощи. –

ответ

1

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

Я не знаю, что вы можете определить, поддерживает ли браузер mailto: links. Но что касается привязки логики к ссылкам 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; 
    } 
} 

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

+0

Но, к сожалению, похоже, что это всплыло бы отключенное предупреждение для обоих пользователей, которые поддерживают mailto, а те, которые этого не делают. –

+0

@williamjones: Это не значит быть копией/пастой. Только демонстрация привязки логики к ссылкам mailto. Реальное решение - создать свою собственную страницу контактов и предоставить небольшую форму, которая может быть отправлена ​​через сайт, а не локальный почтовый клиент. – Sampson

2

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

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

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

+0

+1 Хорошая информация. – Sampson

+2

Я пробовал это на IE и Firefox на компьютере без mailto: настроен. В IE8 появляется сообщение: «Не удалось выполнить эту операцию, потому что почтовый клиент по умолчанию установлен неправильно». Не слишком полезно для пользователя, у которого есть только веб-почта. На Firefox, щелкнув ссылку, кажется, просто ничего не делает, без каких-либо отзывов о том, в чем проблема. –