Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建“自动复制到剪贴板”javascript_Javascript_Html - Fatal编程技术网

创建“自动复制到剪贴板”javascript

创建“自动复制到剪贴板”javascript,javascript,html,Javascript,Html,我想要一个页面,将一些预设文本复制到剪贴板,供加载的用户使用 函数myFunction{ var copyText=document.getElementByIdmyInput; copyText.select; copyText.setSelectionRange0,99999 文件副本; alertCopied文本:+copyText.value; console.logcopyText.value } 函数myClick{ document.getElementByIdmyButton.

我想要一个页面,将一些预设文本复制到剪贴板,供加载的用户使用

函数myFunction{ var copyText=document.getElementByIdmyInput; copyText.select; copyText.setSelectionRange0,99999 文件副本; alertCopied文本:+copyText.value; console.logcopyText.value } 函数myClick{ document.getElementByIdmyButton.click; } 复制文本
你不能在用户的剪贴板上放一些东西,除非是为了响应他们的公开动作——例如,点击按钮。想想看:你把一些东西放在剪贴板上,浏览网页,然后单击“粘贴”,一些完全出乎意料的东西就会被粘贴。这不好,所以浏览器不允许你这么做

在您询问的评论中:

我可以在装载时请求许可吗

最近的与。例如,当我从以下位置运行页面加载时,此代码在页面加载上起作用:

我有点不高兴地看到,无论是勇敢还是铬都没有促使我同意。奇怪的是,据我所知,我将它们配置为询问应用程序何时需要访问剪贴板,但我没有得到任何提示。好像是铬虫


作为一个用户,如果一个网站在任何情况下写入我的剪贴板,我都会非常生气,除了我点击一个明显标记为“复制到剪贴板”或类似的按钮。这可能会让我再也不会访问该网站。

除了响应用户的公开行为(例如,单击按钮)外,您不能在用户的剪贴板中放置任何内容。想想看:你把一些东西放在剪贴板上,浏览网页,然后单击“粘贴”,一些完全出乎意料的东西就会被粘贴。这不好,所以浏览器不允许你这么做

在您询问的评论中:

我可以在装载时请求许可吗

最近的与。例如,当我从以下位置运行页面加载时,此代码在页面加载上起作用:

我有点不高兴地看到,无论是勇敢还是铬都没有促使我同意。奇怪的是,据我所知,我将它们配置为询问应用程序何时需要访问剪贴板,但我没有得到任何提示。好像是铬虫



作为一个用户,如果一个网站在任何情况下写入我的剪贴板,我都会非常生气,除了我点击一个明显标记为“复制到剪贴板”或类似的按钮。这可能会使我再也不会访问该网站。

可能是一种安全机制,可以防止您在没有询问的情况下覆盖我当前剪贴板中的内容!我很高兴地问-但想知道如何获得该权限:-@JayOram在用户操作后授予权限。对于第一条评论中提到的逻辑后果,恐怕没有自动机制可供您处理。不,您不能在此明确请求任何“许可”。该按钮是您“询问”用户是否要将某个内容复制到剪贴板的方式,单击该按钮将是他们回答该问题的方式。@CBroe-实际上,有一个新的实验API与权限相关。可能是一种安全机制,为了防止你在没有询问的情况下覆盖我当前剪贴板中的内容!我很高兴地问-但想知道如何获得该权限:-@JayOram在用户操作后授予权限。对于第一条评论中提到的逻辑后果,恐怕没有自动机制可供您处理。不,您不能在此明确请求任何“许可”。该按钮是您“询问”用户是否想将内容复制到他们的剪贴板中的方式,单击该按钮将是他们回答该问题的方式。@CBroe-实际上,有一个新的实验性API与权限相关。有没有一种方法可以在页面加载时而不是单击时请求权限?@JayOram load是authomatism-而不是像这样的用户操作:一个按钮单击事件,然后回答它-谢谢@JayOram-事实上,有一个新的实验API与权限相关。@T.J.Crowder-这是一个可行的想法,从一封邮件中移动,该邮件有一个调用操作/按钮,上面写着复制代码并访问“URL”-然后它会复制代码并访问网站,因为您不能在电子邮件中使用Javascript复制到剪贴板。有没有办法请求页面加载权限,而不是单击权限?@JayOram load是authomatism,而不是像这样的用户操作:一个按钮单击事件,然后回答它-谢谢@JayOram-事实上,有一个新的实验API与权限相关。@T.J.Crowder-这是一个可行的想法,从一封电子邮件中移动,该电子邮件有一个调用操作/按钮,上面写着复制代码并访问“URL”-然后它会复制代码并转到网站,因为你不能在电子邮件中使用Javascript复制到剪贴板。
navigator.permissions.query({name: "clipboard-write"})
.then(({state}) => {
    console.log(`permission response: ${state}`);
    if (state === "granted") {
        const data = [new ClipboardItem({ "text/plain": new Blob([`The time is ${new Date()}`], { type: "text/plain" }) })];
        navigator.clipboard.write(data).then(
            () => {
                console.log("Clipboard write succeeded");
            },
            () => {
                console.error("Clipboard write failed");
            }
        );
    }
});