传递给window.prompt的文本将替换为“...” [英] Text passed to window.prompt gets replaced with "..."

查看:71
本文介绍了传递给window.prompt的文本将替换为“...”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想允许用户将大量电子邮件地址复制到剪贴板。这个答案似乎是最可靠的方法:

I want to allow users to copy a large number of email addresses to their clipboard. This answer seemed like the most reliable way to do that:

如何用JavaScript复制到剪贴板?

然而,当我发现测试时那个 window.prompt() 总是替换一个电子邮件的一部分.. 。

However, when testing I found that window.prompt() always replaces part of one of the emails with ....

这是测试数据:

test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com; test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
test@test.com;test@test.com;

以下是包含以下测试数据的示例代码:

Here is example code with the following test data:

window.prompt ("To copy emails to clipboard, press: Ctrl+C, then Enter", 
  "test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com; test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;test@test.com;test@test.com;test@test.com;
  test@test.com;test@test.com;");

JSFiddle: http://jsfiddle.net/MkYDz/

JSFiddle: http://jsfiddle.net/MkYDz/

点击上面的链接,将文本复制并粘贴到文本编辑器,您将看到其中一封电子邮件(大约一半)变为:

Click on the link above, copy and paste the text to a text editor, and you will see that one of the emails (about halfway) becomes:

test@...om

为什么会发生这种情况?

Why is this happening?

推荐答案

提示的字符限制似乎就像MVP所说的那样。
有一个非常好的解决方法。
使用 textarea 并将电子邮件文本作为其内容,并使用 select 函数选择全文在textarea中,就像你提到的那样。

The character limit for the prompt seems to be the reason like MVP said. There is a pretty better workaround for it. Use a textarea with the emails text as its content and use the select function to select the whole text in the textarea like you did with the prompt.

示例:

$('#container').append('To copy emails to clipboard, press: Ctrl+C, then Enter <br />
<textarea id="emailsToCopy">'+emailsToCopy+'</textarea>');
$('#emailsToCopy').select().focus();

假设您使用jquery。如果没有,你可以在textarea DOM元素上使用选择函数。

Assuming, you use jquery. If not you could use select function on the textarea DOM element.

var emailsTxtArea = document.getElementById(emailsToCopy);
emailsTxtArea.select();
emailsTxtArea.focus();

这篇关于传递给window.prompt的文本将替换为“...”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆