clipboard.writeText failed only after call the crypto.subtle.digest api
Test code:
navigator.clipboard.writeText('test 1').then(function() { console.log('Copy to clipboard successed 1'); }, function() { console.log('Copy to clipboard failed 1'); }); let test = await crypto.subtle.digest('SHA-256', dat); navigator.clipboard.writeText('test 2').then(function() { console.log('Copy to clipboard successed 2'); }, function() { console.log('Copy to clipboard failed 2'); });
Logs:
Copy to clipboard successed 1 Copy to clipboard failed 2
所有回覆 (6)
See: https://developer.mozilla.org/docs/Web/API/Clipboard/writeText
I think the problem is that the second write is not directly linked to the user action that triggered the function.
jscher2000 said
See: https://developer.mozilla.org/docs/Web/API/Clipboard/writeText I think the problem is that the second write is not directly linked to the user action that triggered the function.
The two test writes are in same function, only split by one line code of the "crypto.subtle.digest()".
I hope you can try my code, it's easy to reproduce the issue.
I think calling the asychronous function disconnects the second call from the original user-initiated event.
This old (open) bug may be relevant: https://bugzilla.mozilla.org/show_bug.cgi?id=1185052
Thank you for your reply, but I think they are different issues, I tried call some other async function instead, no problem at all.
Seems to be working for me.
cor-el said
Seems to be working for me.
Please try this one more time: https://jsfiddle.net/1jzdvy23/
Still not work for me, I tried:
Version 68.2.0 on Android Version 69.0.2 on Linux Version 70.0.1 on Linux
I also tried private window, not work.
duke-pc /home/duke # uname -a Linux duke-pc 5.0.9-gentoo #3 SMP Fri Apr 26 19:30:35 HKT 2019 x86_64 Intel(R) Core(TM) M-5Y71 CPU @ 1.20GHz GenuineIntel GNU/Linux
Last installed firefox from package: www-client/firefox-bin-70.0.1