当您将鼠标悬停在Trello中的卡片上并按Ctrl+时C,此卡片的URL将被复制到剪贴板.他们如何做到这一点?
据我所知,没有涉及Flash电影.我安装了Flashblock,Firefox网络选项卡显示没有加载Flash电影.(这是通常的方法,例如ZeroClipboard.)
他们如何实现这种魔力?
(此刻我觉得我有一个顿悟:你不能在页面上选择文本,所以我假设他们有一个不可见的元素,他们通过JavaScript代码创建文本选择,并且Ctrl+ C触发浏览器的默认行为,复制那个看不见的节点的文本值.)
如何将div中的文本复制到剪贴板?我有一个div,需要添加一个链接,将文本添加到剪贴板.这有解决方案吗?
<p class="content">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>
<a class="copy-text">copy Text</a>
Run Code Online (Sandbox Code Playgroud)
单击复制文本后,我按Ctrl+ V,必须粘贴.
工作流程很简单:
你怎么做呢?
在Internet Explorer中,我可以使用clipboardData对象来访问剪贴板.我怎样才能在FireFox,Safari和/或Chrome中执行此操作?
我找到了许多复制到剪贴板的解决方案,但它们都可以使用闪存或网站方面.我正在寻找方法复制到剪贴板自动,没有闪存和用户方面,它是用户脚本,当然是跨浏览器.
我想知道一种方法,让我的脚本检测剪贴板的内容,并在打开页面时将其粘贴到文本字段中,而无需用户输入.怎么做到呢?
我正在尝试使用JavaScript在Safari中模拟键盘事件.
我试过这个:
var event = document.createEvent("KeyboardEvent");
event.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 115, 0);
Run Code Online (Sandbox Code Playgroud)
......还有这个:
var event = document.createEvent("UIEvents");
event.initUIEvent("keypress", true, true, window, 1);
event.keyCode = 115;
Run Code Online (Sandbox Code Playgroud)
但是,在尝试这两种方法之后,我遇到了同样的问题:在执行代码之后,事件对象的keyCode/ whichproperties设置为0,而不是115.
有谁知道如何在Safari中可靠地创建和发送键盘事件?(如果可能的话,我宁愿用纯JavaScript实现它.)
我正在使用此功能将URL复制到剪贴板:
function CopyUrl($this){
var querySelector = $this.next().attr("id");
var emailLink = document.querySelector("#"+querySelector);
var range = document.createRange();
range.selectNode(emailLink);
window.getSelection().addRange(range);
try {
// Now that we've selected the anchor text, execute the copy command
var successful = document.execCommand('copy', false, null);
var msg = successful ? 'successful' : 'unsuccessful';
if(true){
$this.addClass("copied").html("Copied");
}
} catch(err) {
console.log('Oops, unable to copy');
}
// Remove the selections - NOTE: Should use
// removeRange(range) when it is supported
window.getSelection().removeAllRanges();
}
Run Code Online (Sandbox Code Playgroud)
在桌面浏览器上一切正常,但在我的函数成功返回的iOS设备上没有,但数据根本没有复制到剪贴板.造成这种情况的原因是什么?如何解决这个问题?
随着闪存在许多环境(iPhone,Android,IE10等)的出路上,有没有任何新的解决方案即将在没有安装闪存的情况下安全地将信息复制到剪贴板?
到目前为止我一直在使用ZeroClipboard,但是我担心更多没有闪存的观众,这个功能会被破坏,我希望尽可能不依赖于Flash.
clipboard ×7
javascript ×7
jquery ×3
css ×2
html ×2
browser ×1
coffeescript ×1
copy ×1
copy-paste ×1
dom ×1
dom-events ×1
html5 ×1
ios ×1
paste ×1
safari ×1
trello ×1
webkit ×1