相关疑难解决方法(0)

如何使用JavaScript复制到剪贴板?

将文本复制到剪贴板的最佳方法是什么?(多浏览器)

我试过了:

function copyToClipboard(text) {
    if (window.clipboardData) { // Internet Explorer
        window.clipboardData.setData("Text", text);
    } else {  
        unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
        const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);  
        clipboardHelper.copyString(text);
    }
}
Run Code Online (Sandbox Code Playgroud)

但在Internet Explorer中,它会出现语法错误.在Firefox中,它说unsafeWindow is not defined.

没有闪存的好技巧:Trello如何访问用户的剪贴板?

javascript clipboard copy-paste

3131
推荐指数
40
解决办法
170万
查看次数

使用FireFox,Safari和Chrome将文本复制/放入剪贴板

在Internet Explorer中,我可以使用clipboardData对象来访问剪贴板.我怎样才能在FireFox,Safari和/或Chrome中执行此操作?

javascript clipboard dom

111
推荐指数
7
解决办法
13万
查看次数

javascript将富文本内容复制到剪贴板

前提

我需要帮助使用JavaScript将富文本复制到剪贴板.我四处搜寻,但没有找到适合我特定需求的东西.

function ctrlA1(corp) {
  with(corp) {}
  if (document.all) {
    txt = corp.createTextRange()
    txt.execCommand("Copy")
  } else
    setTimeout("window.status=''", 5000)
}
Run Code Online (Sandbox Code Playgroud)
<div id="sc1">hello <br> <b> world </b> </div>
<button onclick="ctrlA1(document.getElementById('sc1') )"></button>
Run Code Online (Sandbox Code Playgroud)

问题

上述代码不起作用,导致了object expected error.任何帮助表示赞赏!我在那里看过一个叫做库的库zeroclipboard,但我更喜欢编写自己的函数.


编辑:

我现在有这个功能来选择页面上的文字.是否可以编写一个公式来按原样复制所选范围?

function containerSelect(id) {
  containerUnselect();
  if (document.selection) {
    var range = document.body.createTextRange();
    range.moveToElementText(id);
    range.select();
  } else if (window.getSelection) {
    var range = document.createRange();
    range.selectNode(id);
    window.getSelection().addRange(range);
  }
}
Run Code Online (Sandbox Code Playgroud)
<label onclick="containerSelect(this); select_all()">
  <p>hello world</p>
  <img src="imagepath.png">
</label>
Run Code Online (Sandbox Code Playgroud)

html javascript clipboard

25
推荐指数
4
解决办法
1万
查看次数

使用JavaScript/jquery将图像复制到剪贴板

我需要使用JavaScript/jquery将图像复制到剪贴板,我使用以下js来实现它.

function copyImageToClipBoard() {
            var div = document.getElementById('chart1');
            div.contentEditable = true;
            var controlRange;
            if (document.body.createControlRange) {
                controlRange = document.body.createControlRange();
                controlRange.addElement(div);
                controlRange.execCommand('Copy');                   
            }
            div.contentEditable = false;
        }
Run Code Online (Sandbox Code Playgroud)

它在IE中本地工作正常.但是当我试图从其他IE机器上测试它时,要将图像粘贴到MS字中,我需要使用Paste Special-> Device Independent Bitmap选项,否则我看不到粘贴的图像.

我想知道它是否与m/c的环境有关.如果是这样,还有其他任何选择吗?

javascript clipboard jquery image

18
推荐指数
1
解决办法
1万
查看次数

在Javascript中从浏览器将图像复制到剪贴板?

是否可以在javascript中将图像复制到剪贴板?我知道如何复制文字,但你可以复制图像吗?

这是一个安全限制吗?

javascript browser clipboard image

10
推荐指数
1
解决办法
8720
查看次数

如何在没有超时的情况下在javascript中将大量html内容复制到剪贴板

我注意到document.execCommand('copy')命令在后台运行时会在大约 5 秒后超时。有没有办法绕过这个限制,或者如果需要更长的时间,也许可以回退?

这是我一直用于剪贴板文档的页面。例如,我有一个“准备”数据的函数(从表格数据生成 html),然后是第二个函数将它复制到带有一些附加标记的剪贴板。在大表上,从用户按下 Cmd-C 到生成 html 并能够复制它,这通常可能需要十秒钟。

此外,我注意到 Google Sheets 允许超过五秒的复制操作,所以我很好奇他们会怎么做:

# still works after 25 seconds!
[Violation] 'copy' handler took 25257ms     2217559571-waffle_js_prod_core.js:337 
Run Code Online (Sandbox Code Playgroud)

代码被缩小/混淆,因此很难阅读,但这里是上面的文件:https : //docs.google.com/static/spreadsheets2/client/js/2217559571-waffle_js_prod_core.js

作为参考,正在复制的数据量约为 50MB。请在复制操作上使用约 10 秒的延迟来模拟这个长时间运行的过程。


对于赏金,我希望有人可以展示一个执行单个 Cmd-C 的工作示例:

  • 是否可以在后台(即异步)进行长时间运行的复制操作,例如使用网络工作者?
  • 如果它必须同步完成,一个执行复制操作的示例,显示一些进展——例如,复制操作可能在每 10k 行左右后发出一个事件。

它必须生成 html 并且必须只涉及单个 Cmd-C(即使我们使用 apreventDefault并在后台触发复制事件。


您可以使用以下内容作为“html-generation”功能应该如何工作的模板:

function sleepFor( sleepDuration ){
    var now = new Date().getTime();
    while(new Date().getTime() < now + sleepDuration){ /* do nothing */ } 
}

// note: the data …
Run Code Online (Sandbox Code Playgroud)

javascript clipboard

10
推荐指数
1
解决办法
830
查看次数

将元素的文本 insideHTML 复制到剪贴板

我在 stackoverflow 中尝试了很多解决方案,但它不起作用。(这里这里

我在网站中尝试并使用chrome 扩展来运行代码(chrome 59.0.3071.104 64位)

<h4 align="center">text data to copy</h4>

var copy_text = document.getElementsByTagName("h4")[0];
copy_text.select(); //-> error: select is not a function
Run Code Online (Sandbox Code Playgroud)

var range = document.createRange();
range.selectNode(copy_text);
window.getSelection().addRange(range);
document.execCommand("copy"); //-> clipboard not change
Run Code Online (Sandbox Code Playgroud)

有什么解决办法吗?谢谢。


编辑:我认为我的问题是页面加载(安全浏览器),所有解决方案都与用户交互一起使用

javascript

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×7

clipboard ×6

image ×2

browser ×1

copy-paste ×1

dom ×1

html ×1

jquery ×1