2010-02-16 12 views
5

Czy można sprawdzić, czy system operacyjny użytkownika/przeglądarka obsługuje dany schemat adresu URL przy użyciu javascript (lub cokolwiek innego)?Czy można sprawdzić, czy przeglądarka/system operacyjny użytkownika obsługuje dany typ łącza przy użyciu javascript?

Na przykład mailto: nie jest skonfigurowany na większości komputerów użytkownika, które używają tylko poczty internetowej. Czy byłoby możliwe złapanie prób kliknięcia linku mailto i wyświetlenie bardziej opisowego wyjaśnienia niż komunikat o błędzie przeglądarki?

+0

To nie pomaga tutaj, ale niektóre przeglądarki (takie jak Firefox) pozwalają użytkownikom skonfigurować linki "mailto", aby przejść do ich poczty internetowej, więc nawet jeśli nie mają klienta poczty e-mail (bez poczty internetowej), OK. – Ken

+0

Tak, chciałbym móc pomóc użytkownikom w takich przeglądarkach, którzy nie mają skonfigurowanej poczty, aby móc skonfigurować pocztę internetową do obsługi mailto, ale jest to trudne, ponieważ nie wiem, jak znaleźć tych użytkowników, i Użytkownicy, którzy tego nie robią, to także użytkownicy, którzy nie będą szukać pomocy. –

Odpowiedz

1

Czy jest możliwe złapanie prób kliknięcia łącza mailto i wyświetlenie bardziej opisowego wyjaśnienia niż komunikat o błędzie przeglądarki?

Nie wiem, czy można określić, czy przeglądarka obsługuje linki mailto:. Ale jeśli chodzi o dołączanie logiki do linków mailto, możesz przełączać się między linkami na stronie i testować ich wartość href. Jeśli zaczyna się od "mailto:", możesz dołączyć popup po kliknięciu.

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

Jedynym realnym rozwiązaniem tego problemu jest hostowanie własnej strony kontaktowej, dostarczając niewielki formularz, który użytkownik może przesłać.

+0

Niestety wygląda na to, że wyskoczyłby wyłączony alert zarówno dla użytkowników, którzy obsługują Mailto, jak i tych, którzy tego nie robią. –

+0

@williamjones: To nie było wredne rozwiązanie. Tylko demonstracja dołączania logiki do linków mailto. Prawdziwym rozwiązaniem jest utworzenie własnej strony kontaktowej i podanie niewielkiego formularza, który można przesłać za pośrednictwem witryny, a nie lokalnego klienta poczty e-mail. – Sampson

2

W ogólnym przypadku - nie sądzę.

W szczególnym przypadku mailto: - nie.

Aby rozwiązać problem, który musisz opisać, musisz wiedzieć, czy użytkownik ma skonfigurowanego klienta poczty e-mail, a nie, czy przeglądarka obsługuje funkcję mailto :. Większość przeglądarek obsługuje funkcję mailto :, a jeśli użytkownik nie ma skonfigurowanego klienta - nadal "działa" (uruchamiając klienta poczty e-mail i monitując użytkownika o jego skonfigurowanie).

+0

+1 Dobra informacja. – Sampson

+2

Próbowałem go na IE i Firefox na komputerze bez mailto: skonfigurowane. W przeglądarce IE8 pojawia się komunikat "Nie można wykonać tej operacji, ponieważ domyślny klient poczty nie jest poprawnie zainstalowany." Niezbyt pomocne dla użytkownika, który ma tylko pocztę internetową. W przeglądarce Firefox kliknięcie linku wydaje się po prostu nie robić nic, bez opinii na temat tego, na czym polega problem. –

Powiązane problemy