Search code examples
javascriptmailtourl-scheme

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


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?


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.