Is it possible to test whether a user's browser/OS supports a given type of link using javascript?

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

  •  20-09-2019
  •  | 
  •  

Question

Is it possible to test whether a user's OS/browser supports a given url scheme using javascript (or anything else)?

For example, mailto: isn't setup on most user's computer that only use webmail. Would it be possible to somehow catch attempts to click a mailto link and pop up a more descriptive explanation than the browser error message?

Was it helpful?

Solution

Would it be possible to somehow catch attempts to click a mailto link and pop up a more descriptive explanation than the browser error message?

I don't know that you can determine whether a browser supports mailto: links. But as for attaching logic to mailto links, you could cycle through the links on the page, and test their href value. If it begins with "mailto:" you could attach a popup upon clicking it.

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

The only real solution I can think to this problem is to host your own contact page, providing a small form that the user can submit.

OTHER TIPS

In the general case — I don't think so.

In the specific case of mailto: — no.

To solve the problem you need to describe you need to know if the user has a configured email client, not if the browser supports mailto:. Most browsers support mailto:, and if the user doesn't have a configured client — it still 'works' (by starting the email client and prompting the user to configure it).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top