Próbuję utworzyć funkcję kopiowania w czystym JS, więc bez flashowania. Problem polega na tym, że nie chcę pokazywać przycisku kopiowania, gdy przeglądarka nie obsługuje kopiowania do schowka.Jak wykryć funkcję kopiowania do schowka przed użyciem?
Używam metody document.execCommand('copy')
do kopiowania do schowka, ale obsługa tego nie jest najlepsza. Na przykład safari ma funkcję execCommand, ale nie obsługuje parametru kopiowania. Oznacza to, że nie mogę po prostu sprawdzić, czy ta funkcja istnieje.
Z powodu tego podejrzanego wsparcia, myślę, że będę musiał przejść sposób wykrywania przeglądarki, podobnie jak github, z którym natknąłem się na problem z numerem zeroclipboard. Here to implementacja, którą znalazłem.
Czy istnieje właściwy sposób wykrywania agenta użytkownika? Wolałbym nie używać NavigatorID.userAgent, ponieważ jest przestarzałe, zgodnie z MDN.
czy wypróbowałeś 'typeof document.execCommand! == 'undefined''? – Zamboney
Jak powiedziałem w pytaniu, safari ma funkcję document.execCommand, ale nie obsługuje parametru "copy". Dlatego zastanawiam się nad pójściem w dół po wykryciu przeglądarki. Nie powoduje również błędu podczas próby użycia funkcji z tym parametrem. – silverlight513