É possível testar se o navegador/OS do usuário suporta um determinado tipo de link usando JavaScript?

StackOverflow https://stackoverflow.com/questions/2274405

  •  20-09-2019
  •  | 
  •  

Pergunta

É possível testar se o sistema operacional/navegador de um usuário suporta um determinado esquema de URL usando JavaScript (ou qualquer outra coisa)?

Por exemplo, Mailto: não está configurado na maioria dos computador do usuário que usa apenas o webmail. Seria possível de alguma forma pegar as tentativas de clicar em um link para correio e exibir uma explicação mais descritiva do que a mensagem de erro do navegador?

Foi útil?

Solução

Seria possível de alguma forma pegar as tentativas de clicar em um link para correio e exibir uma explicação mais descritiva do que a mensagem de erro do navegador?

Não sei se você pode determinar se um navegador suporta Mailto: Links. Mas, quanto a anexar a lógica aos links de e -mails, você pode percorrer os links na página e testar seus href valor. Se começar com "Mailto", você poderá anexar um pop -up ao clicar nele.

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

A única solução real que posso pensar nesse problema é hospedar sua própria página de contato, fornecendo um pequeno formulário que o usuário pode enviar.

Outras dicas

No caso geral - acho que não.

No caso específico do Mailto: - no.

Para resolver o problema que você precisa descrever, você precisa saber se o usuário tem um cliente de email configurado, não se o navegador suportar o Mailto:. A maioria dos navegadores suporta Mailto:, e se o usuário não tiver um cliente configurado - ele ainda 'funciona' (iniciando o cliente de email e levando o usuário a configurá -lo).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top