Javascript 如何复制警报框的文本

Javascript 如何复制警报框的文本,javascript,Javascript,我使用下面的代码将文档路径写入警报框 var oArg = new Object(); oArg.Document = $(t).attr("path") + str + "/" + $(t).attr("name"); alert(oArg.Document); 假设消息是:“documents/files/img/stack.jpg” 我只想用一个按钮复制这个文本。对于Chrome,Ctrl+C可以,但对于IE,Ctrl+C会复制alertbox中的所有内容 如何使用按钮仅复制邮件 Ctr

我使用下面的代码将文档路径写入警报框

var oArg = new Object();
oArg.Document = $(t).attr("path") + str + "/" + $(t).attr("name");
alert(oArg.Document);
假设消息是:“
documents/files/img/stack.jpg

我只想用一个按钮复制这个文本。对于Chrome,Ctrl+C可以,但对于IE,Ctrl+C会复制alertbox中的所有内容

如何使用按钮仅复制邮件

Ctrl+C的工作原理如下:

  • 铬-工作完美
  • Internet Explorer-工作正常,但您会收到额外的文本。标题和“确定”按钮文本也会被复制,并带有一组破折号。这几乎不是你想要的
  • Firefox-根本不起作用。在复制文本之前,必须先选择文本
您可以做的是用文本提示用户并要求他们复制文本。因此:

prompt("Copy to clipboard: Ctrl+C, Enter", oArg.Document);

因为如果您向提示提供文本,它将自动被选中。这对你合适吗?

每当出现带有文本消息的警告消息框时,只要按CTRL+C,你的消息就会被复制,然后你可以将它粘贴到任何你想要的地方,无需编写它或使用任何其他方法来获取文本。

我发现,至少在Chrome中,实际上,当文本不包含任何换行符(即“\n”)时,警报框文本是可选择的


我不知道为什么会出现这种情况,但我以前不得不使用这种技巧来快速选择提示。(您也可以使用
提示(“请按ctrl+c复制下面的文本”,“要复制的文本”)
,但这通常看起来更糟)

好的解决方案,如何在提示屏幕中使用“确定”按钮关闭提示屏幕和打开器窗口?您可以监听提示的返回值
if(prompt(“Blah bla?”){doStuff();}
nice trick谢谢,不会在生产中使用它,因为它是糟糕的UI/UX,但对我有效:发问者中提到的DAs一个简单的ctrl+c不能在所有浏览器中工作。我更喜欢使用
console.log
:)我注意到,如果你在警报中有另一个函数,(即
JSON.stringify()
btoa()
),您可以将
\n
放在其中,然后可以选择文本。