
1 rogwan 2019-10-12 12:16:47 +08:00 via iPhone 浏览器为了安全,不支持 js,要用户触发。 |
2 nihiue 2019-10-12 12:17:25 +08:00 via Android 特权操作只能在特定的事件中触发,你改成 click 试试 |
3 cnanyi 2019-10-12 12:31:46 +08:00 paste 操作,只能主动触发,不能从代码调用了 |
4 raymanr OP |
5 codehz 2019-10-12 12:45:19 +08:00 via Android |
6 gIrl1990 2019-10-12 12:54:01 +08:00 @codehz 咋不行。chrome 77 Uncaught (in promise) OMException `navigator.clipboard.readText().then` |
7 raymanr OP @codehz chrome 76 navigator.clipboard.readText().then(clipText => document.querySelector("#a").innerText = clipText).catch(err=>{console.log(err)}) 抛出个没有细节的 DOMException 这个试过 , 一直不知道为何都会抛出异常 , 所以才想用 execCommand , 结果也搞不好 |
8 love 2019-10-12 13:42:29 +08:00 浏览器可以得到用户的剪贴板?那不是太搞笑了吧,比如我经常复制密码,上个网站就能偷去? |
9 raymanr OP @love 原来前面几位说的主动触发是这个意思么 ? 虽然 clipboard.readText() 让我也没看明白 , 不过算了.... 还是用 wpf 吧 , 太麻烦了 |
10 chosan 2021-01-11 09:28:51 +08:00 navigator.clipboard.readText() 要在 https 下才行,不然 navigator.clipboard 为 undefined,另外也不能通过在控制台执行,它需要页面为 active 状态,在控制台的时候相当于页面 deactive 了,因此可以在控制台输入以下代码,然后快速点击页面内部激活页面: setTimeout(async () => { const text = await navigator.clipboard.readText(); console.log(text); }, 4000); |
11 chosan 2021-01-11 09:30:47 +08:00 |