Tôi đang cố gắng tạo một chức năng sao chép trong JS thuần túy, do đó không có flash. Vấn đề tôi gặp phải là tôi không muốn hiển thị nút sao chép khi trình duyệt không hỗ trợ sao chép vào clipboard.Cách phát hiện chức năng sao chép vào clipboard trước khi sử dụng nó
Tôi đang sử dụng phương thức document.execCommand('copy')
để sao chép vào khay nhớ tạm nhưng hỗ trợ cho việc này không phải là tốt nhất. Ví dụ, safari có hàm execCommand nhưng không hỗ trợ tham số sao chép. Điều này có nghĩa là tôi không thể chỉ đơn giản là kiểm tra xem hàm có tồn tại hay không.
Vì sự hỗ trợ dodgy này, tôi nghĩ rằng tôi sẽ phải đi trong cách phát hiện trình duyệt, giống như github mà tôi đi qua từ nhìn vào một vấn đề zeroclipboard. Here là triển khai mà tôi đã tìm thấy.
Có cách nào chính xác để phát hiện tác nhân người dùng không? Tôi không muốn sử dụng NavigatorID.userAgent vì không được dùng nữa theo MDN.
bạn đã thử 'typeof document.execCommand! == 'undefined''? – Zamboney
Như tôi đã nói trong câu hỏi, safari có hàm document.execCommand nhưng không hỗ trợ tham số 'copy'. Đó là lý do tại sao tôi đang nghĩ đến việc đi xuống con đường phát hiện trình duyệt. Nó cũng không ném một lỗi khi cố gắng sử dụng hàm với tham số đó. – silverlight513