有没有办法在javascript中将html字符串(即<b>xx<b>)复制到剪贴板中作为text/html,以便可以将其粘贴到例如带格式的gmail邮件中(即xx以粗体显示)
存在以文本(文本/纯文本)形式复制到剪贴板的解决方案,例如/sf/answers/2156722571/,但不是text/html
我需要一个非闪存,非jquery解决方案,至少可以在IE11 FF42和Chrome上运行.
理想情况下,我想在剪贴板中存储字符串的text和html版本,以便可以粘贴正确的版本,具体取决于目标是否支持html.
我需要使用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,只需按一下按钮即可复制文本.我的问题是它不会保留换行符:
<script>
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
</script>
Run Code Online (Sandbox Code Playgroud)
我真的希望能够添加到上面的脚本中,以避免在网站上进行大的更改.
我在其他帖子上看过的内容如下:
post.innerHTML = post.innerHTML.replace(/\n/g, '<br>\n');
Run Code Online (Sandbox Code Playgroud)
这在理论上是可行的(我认为),但我吮吸Javascript.
有什么建议?
谢谢
点击后.fw-code-copy-button我想从它最近的容器中复制源代码.
.fw-code-copy-button用户单击专用的"查看源"按钮后动态创建-s.
例如Html按钮:
<span class="fw-code-copy">
<span class="fw-code-copy-button" data-clipboard-text="...">copy</span>
</span>
Run Code Online (Sandbox Code Playgroud)
这是我触发click事件的方法,并定义要复制到剪贴板的源代码:
$(document).on("click", ".fw-code-copy-button", function(){
var source = $(this).closest(".fw-code-copy").next("code").text();
});
Run Code Online (Sandbox Code Playgroud)
这就是clipboard.js触发它的复制事件的方式
new Clipboard(".fw-code-copy-button", {
text: function(trigger) {
return source; // source should somehow be copied from scope above it
}
});
Run Code Online (Sandbox Code Playgroud)
每当我点击网站上的任何地方时,都会出现以下错误:
Uncaught Error: Missing required attributes, use either "target" or "text"
Run Code Online (Sandbox Code Playgroud)
但首先,我不想定义要复制的文本data-clipboard-text="..."
,其次data-clipboard-text是使用"..."它的值来定义.
如果有人愿意支付一秒钟,我将非常感激.
[编辑]我已经编写了jsFiddle用于演示,并且令人惊讶的是UncaughtError消失了,但我仍然需要将source代码从onClick 移动到剪贴板范围.
我正在制作一个基本的电子邮件签名页面,希望能够使用“复制到剪贴板”按钮/命令。
我有它的工作,虽然不是粘贴准备好包含在Outlook或Mac邮件中的格式化图形,而是粘贴实际的html。例如
<table width="100%" cellspacing="0" cellpadding="0" border="0" ...
Run Code Online (Sandbox Code Playgroud)
我的代码在下面,非常感谢您提供一些指导。
<table width="100%" cellspacing="0" cellpadding="0" border="0" ...
Run Code Online (Sandbox Code Playgroud)
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).html()).select();
document.execCommand("copy");
$temp.remove();
$("#success").slideDown("slow");
}Run Code Online (Sandbox Code Playgroud)
我正在创建一个基本的网页表单,我希望表单填写后以一些基本格式复制到剪贴板。
例如
与 - 与此处复制的输入进行对话
已登录 - 已登录,复制输入内容
h3 标题在这里 h3
摘要 - 此处复制输入的摘要
ETC
目前,我有一个复制功能,尽管复制的所有内容都在一行中,没有任何格式。
当前格式示例 - (此处使用复制的输入)(此处登录复制的输入)(此处汇总复制的输入)
如何添加一些格式,如第一个示例?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<form id="myForm" action="/action_page.php">
<h2><img src="Images\LEAP-logo-transparent-RGB.png" alt="LEAP-logo-transparent-RGB" width="420" height="90"></h2>
<p>
Spoke With -
<input type="text" name="spokewith" id="Input" required="<#CDATA#>" class="input">
<br>
Logged in -
<input class="input" type="radio" name="loggedin" value="Yes" required="<#CDATA#>"> Yes
<input class="input" type="radio" name="loggedin" value="No"> No<br>
</p>
<h3>Describe the clients Issue</h3>
<p>
Summary -
<input id="Input" …Run Code Online (Sandbox Code Playgroud)