Javascript复制到剪贴板
我正在尝试将一些文本复制到网页中的剪贴板。我设置了一个文本框,其显示设置为“无”,并用一些文本填充它。然后,当我按钮被单击时,我尝试将剪贴板设置为其内容,但我一直得到空值 我尝试了两种设置剪贴板的方法:设置隐藏字段“hfCTC”的值并调用ShowCTC2(),设置输入“ToCopy”的值并调用ShowCTC(),在这两种情况下,警报都显示为null 我不希望按钮进行回发,因此在js函数中返回falseJavascript复制到剪贴板,javascript,webforms,.net-3.5,Javascript,Webforms,.net 3.5,我正在尝试将一些文本复制到网页中的剪贴板。我设置了一个文本框,其显示设置为“无”,并用一些文本填充它。然后,当我按钮被单击时,我尝试将剪贴板设置为其内容,但我一直得到空值 我尝试了两种设置剪贴板的方法:设置隐藏字段“hfCTC”的值并调用ShowCTC2(),设置输入“ToCopy”的值并调用ShowCTC(),在这两种情况下,警报都显示为null 我不希望按钮进行回发,因此在js函数中返回false <input type="text" id="ToCopy" style="displa
<input type="text" id="ToCopy" style="display:none" />
<asp:HiddenField runat="server" ID="hfCTC" />
<input type="image" id="ibCTC" src="images/CTC.png" onclick="return ShowCTC();" />
function ShowCTC2(){
if (document.all) // IE only
{
if (window.clipboardData && clipboardData.setData)
{
var ctrl = document.getElementById('<%=hfCTC.ClientID %>');
var textToCopy = ctrl.value;
window.clipboardData.setData('Text', ctrl.text);
alert (window.clipboardData.getData ('Text'));
}
}
return false;
}
function ShowCTC(){
if (document.all) // IE only
{
window.clipboardData.clearData ("Text");
select_all();
alert (window.clipboardData.getData ('Text'));
}
return false;
}
function select_all() {
var text_val = document.getElementById('ToCopy');
text_val.focus();
text_val.select();
if (!document.all) return; // IE only
r = text_val.createTextRange();
r.execCommand('copy');
}
函数ShowCTC2(){
if(document.all)//仅限IE
{
if(window.clipboardData&&clipboardData.setData)
{
var ctrl=document.getElementById(“”);
var textToCopy=ctrl.value;
window.clipboardData.setData('Text',ctrl.Text);
警报(window.clipboardData.getData('Text');
}
}
返回false;
}
函数showtcc(){
if(document.all)//仅限IE
{
window.clipboardData.clearData(“文本”);
选择_all();
警报(window.clipboardData.getData('Text');
}
返回false;
}
函数select_all(){
var text_val=document.getElementById('ToCopy');
text_val.focus();
text_val.select();
如果(!document.all)返回;//仅限IE
r=text_val.createTextRange();
r、 execCommand('copy');
}
如果我在ShowCTC()中注释掉清除剪贴板行并手动Ctl-C复制某些内容,则警报将显示我复制的内容,但通过代码设置剪贴板数据似乎失败。此帖子解决了此问题: 我将代码更改为以下内容:
<input type="image" id="ibCTC" src="images/ibCTC.png" class="js-textareacopybtn" />
<textarea class="js-copytextarea">Hello I'm some text</textarea>
function bindEvent(el, eventName, eventHandler) {
if (el.addEventListener){
el.addEventListener(eventName, eventHandler, false);
} else if (el.attachEvent){
el.attachEvent('on'+eventName, eventHandler);
}
}
var copyTextareaBtn = document.querySelector('.js-textareacopybtn');
bindEvent(copyTextareaBtn, 'click',function(event) {
var copyTextarea = document.querySelector('.js-copytextarea');
copyTextarea.select();
try {
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
alert('Copying text command was ' + msg);
} catch (err) {
alert('Oops, unable to copy');
}
});
你好,我是一些短信
函数bindEvent(el、eventName、eventHandler){
如果(el.addEventListener){
el.addEventListener(eventName,eventHandler,false);
}否则,如果(见附件){
el.attachEvent('on'+eventName,eventHandler);
}
}
var copyTextareaBtn=document.querySelector('.js textareacopybtn');
bindEvent(copyTextareaBtn,'单击',函数(事件){
var copyTextarea=document.querySelector('.js copyTextarea');
copyTextarea.select();
试一试{
var successful=document.execCommand('copy');
var msg=successful?'successful':'successful';
警报('复制文本命令为'+msg');
}捕捉(错误){
警报('Oops,无法复制');
}
});
None of?可能与简短答案重复,出于安全原因,您不能。我在发布问题之前搜索过这个问题,事实上,我正在使用的java脚本函数已标记为“answer”,因此可以执行此操作。我的问题是,是否有人能在代码中找到阻止“window.clipboardData.setData()”设置剪贴板内容的漏洞。这篇文章解决了这个问题:。