相关疑难解决方法(0)

防止用户在浏览器上复制文本

我正在尝试使用JavaScript开发打字速度竞赛.人们应该把他们从div看到的所有单词写成textarea.

为了防止作弊(比如从div复制单词),一种方法是只在键盘按键关闭时检查写入的单词,但我想知道是否有办法阻止用户在浏览器中复制文本?

到目前为止我尝试了什么:

  1. 禁用右键单击(在移动浏览器上无效)
  2. 在所有页面中使用onmousedown事件显示警报(它也不起作用)

使用任何库都可以.

html javascript css php jquery

12
推荐指数
4
解决办法
2505
查看次数

如何在html/javascript中创建"复制到剪贴板"按钮

<html>
<input type="button" id="btnSearch" value="Search" onclick="GetValue();" />
<p id="message" ></p>

<script>
function GetValue()
{
    var myarray= new Array("item1","item2","item3");
    var random = myarray[Math.floor(Math.random() * myarray.length)];
    //alert(random);
    document.getElementById("message").innerHTML=random;
}
</script>

</html>
Run Code Online (Sandbox Code Playgroud)

这是代码,当我生成一个随机单词让我们说"item1"显示,我怎么能在它下面添加一个按钮,当我点击它复制"item1"

html javascript jquery

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

jQuery将多行列表复制到剪贴板

我花了一些时间试图找出一个解决方案,该解决方案可以复制HTML中的多行列表,从按钮上删除标签和缩进,而无需使用Flash.在我的研究中,我遇到了" jQuery单击按钮复制到剪贴板 ",我测试了Alvaro Montoro的答案,但该解决方案不适用于多行列表,但它适用于段落文本.我不打算支持Clipbaord API,因为它显示了跨浏览器的非常有限的支持.进一步研究我遇到了" HTML5替代基于闪存的ZeroClipboard以便安全地将数据复制到剪贴板? "而Thayne的答案链接到博客文章但它会复制所有的HTML.我已经弄清楚如何剥离标签和缩进:

HTML:

<button onclick="copyToClipboard('#therecipe')">Copy List</button>
<div class="listing">
    <ul id="someList">
        <li>1 million</li>
        <li>Monday</li>
        <li>Something</li>
        <li>Foobar</li>
        <li>1tsp blah</li>
    </ul>
</div>

<textarea class="auto"></textarea>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('button').click(function(element) {
    var thelist = $('#someList').html();
    thelist = thelist.replace(/\s+<li>/g, '');
    thelist = thelist.replace(/<\/?li>/g, '\r');
    $('.auto').val(thelist);
});
Run Code Online (Sandbox Code Playgroud)

如何使用jQuery复制多行列表项,删除标签,删除缩进,并在不使用Flash的情况下复制到剪贴板?是否有支持我没有看到的所有最新浏览器的插件?

clipboard jquery copy twitter-bootstrap-3

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

如果没有创建选择,如何复制日期类型的输入?

我有一个简单的输入:

<input type="date" class="self-select" value="1980-05-04">
<input type="text" class="self-select" value="my birthday">
Run Code Online (Sandbox Code Playgroud)

我有一个监听所有这些输入的监听器:

$(document).on('focus', '.self-select', function(){
    $(this).select();
});
Run Code Online (Sandbox Code Playgroud)

这个想法是,当用户单击输入字段时,其内容被选择,因此他只需要 ctrl+c 即可复制。

但这在 Chrome 中不起作用type="date"。没有选择,基本上也没有办法从输入字段复制日期值。

这是小提琴: https://fiddle.jshell.net/Dmatafonov/s8r9dt6j/

javascript jquery

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

为什么 document.execCommand("copy") 在 Internet Explorer 11 中不再起作用?

在我们的应用程序中,我们使用以下逻辑将 HTML(文本和格式)复制到剪贴板。

function copy(element_id)
{
    var aux = document.createElement("div");
    aux.setAttribute("contentEditable", true);
    aux.innerHTML = document.getElementById(element_id).innerHTML;
    aux.setAttribute("onfocus", "document.execCommand('selectAll',false,null)"); 
    document.body.appendChild(aux);
    aux.focus();
    document.execCommand("copy");
    document.body.removeChild(aux);
    console.log("COPY");
}
Run Code Online (Sandbox Code Playgroud)
<p id="demo"><b>Bold text</b> and <u>underlined text</u>.</p>
  
<button onclick="copy('demo')">Copy To Clipboard Keeping Format</button>
Run Code Online (Sandbox Code Playgroud)

它在所有主要浏览器(Chrome、Firefox、Edge 和 Internet Explorer)中都运行良好。

使用最新的 Internet Explorer 版本 11.125.16299.0(更新版本:11.0.49 - KB4052978),HTML 不再复制到剪贴板。

对此有一个安全设置:

Options -> Security -> Edit level ... -> Scripting -> Allow access to clipboard
Run Code Online (Sandbox Code Playgroud)

我将值从“询问”更改为“已激活”。这没有效果。

有谁知道为什么,他们改变了什么,也许是另一种解决方案或解决方法?谢谢你。

html javascript clipboard

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

使用jquery复制到剪贴板?

我想使用jquery将文本复制到剪贴板.但是在某个地方我很想念.我有以下代码:

<span class="copy-btn" data-type="attribute" data-attr-name="data-clipboard-text" data-model="couponCode" data-clipboard-text="<?php echo $result->coupon_code; ?>">COPY CODE</span>
                  </div>
Run Code Online (Sandbox Code Playgroud)

而jquery如下:

$(document).ready(function(){
    $('.copy-btn').on("click", function(){
        value = $(this).data('clipboard-text'); //Upto this I am getting value
        var $temp = $("<input>");
          $("body").append($temp);
          $temp.val($(value).text()).select();
          document.execCommand("copy");
          $temp.remove();
    })
})
Run Code Online (Sandbox Code Playgroud)

所以请纠正我,如何将代码复制到剪贴板.我得到了文本的价值,但在那之后我无法继续.

jquery

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

使用.select()将文本复制到剪贴板,获取未捕获的TypeError

我正在尝试遵循以下代码:https : //www.w3schools.com/howto/howto_js_copy_clipboard.asp

HTML模态:

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title" id="myModalLabel">App Link</h4>
          </div>
          <div class="modal-body">
            <input id="appID" value="123"></input>
            <button type="button" class="btn btn-success" id="copyBtn">Copy</button>
            </div>                  
        </div>
      </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

这是我的JS:

var copyBtn = document.getElementById('copyBtn');

copyBtn.onclick = function(){
    var myCode = document.getElementById('appID').value;
    var fullLink = document.createElement('input');
    document.body.appendChild(fullLink);
    fullLink.value = "http://fulllink/" + myCode;
    fullLink.select();
    document.execCommand("copy", false);
    fullLink.remove();
    alert("Copied the text: " + fullLink.value);
}
Run Code Online (Sandbox Code Playgroud)

Code will not …

javascript

3
推荐指数
1
解决办法
4419
查看次数

使用 jquery 在单击时将元素内容复制到剪贴板

有没有办法通过单击其他元素将元素内容复制到剪贴板?

我看到了很多相关的问题,但我不喜欢使用函数的方法。

因为数据来自数据库。

这是我的示例代码。

代码笔

$(document).ready(function(){
		$(".click .copy").click(function(){
    		$(this).closest("click").find("span").text();
    		document.execCommand("Copy");
		});
	});
Run Code Online (Sandbox Code Playgroud)
.click{
  padding: 10px;
}
.click .copy{
background-color: rgba(0,0,0,.8);
padding: 3px;
border-radius: 12px;
position: absolute;
margin-top: -2px;
width: 80px;
cursor: pointer;
color: #f7cc83;
display: none;
  text-align: center;
}
.click:hover .copy{
	display: block;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="click">
  <div class="copy">copy text</div>
  <span>copy this text 1</span>
</div>
<div class="click">
  <div class="copy">copy text</div>
  <span>copy this text 2</span>
</div>
<div class="click">
  <div class="copy">copy text</div>
  <span>copy this text 3</span>
</div>
Run Code Online (Sandbox Code Playgroud)

clipboard jquery

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

单击以复制文本javascript

首先,我是javascript的初学者,我只想了解一下点击切换。我正在制作一个像flatuicolors.com的网站,当您单击div时,它将复制颜色。我已经在P标签的每个div中写入了每种颜色,并且想知道是否可以单击以在该div中复制P标签。

<div class="main-colour-container col-group-1">
    <div class="colours-featured" id="div2">

        <div class="colour-box" style="background:#F22613;">
            <div class="inside-colour-box">
                <div class="colour-box-text fade">
                    <p>#F22613</p>
                </div>
            </div>
        </div>

        <div class="colour-box" style="background:#F44336;">
            <div class="inside-colour-box">
                <div class="colour-box-text fade">
                    <p>#F44336</p>
                </div>
            </div>
        </div>
        <div class="colour-box" style="background:#C62828;">
            <div class="inside-colour-box">
                <div class="colour-box-text fade">
                    <p>#C62828</p>
                </div>
            </div>
        </div>
        <div class="colour-box" style="background:#DB3D45;">
            <div class="inside-colour-box">
                <div class="colour-box-text fade">
                    <p>#DB3D45</p>
                </div>
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

html javascript css click toggle

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

将按钮属性中的文本复制到剪贴板

我在按钮属性中有一些带有一些文本的按钮,我想要的是当我点击按钮时它会复制到剪贴板

$('.copyboard').on('click', function(e) {
  e.preventDefault();

  var copyText = $(this).attr('data-text');
  console.log(copyText);
  copyText.text().select();
  document.execCommand("copy");
})
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button data-text="Hello World 1" class="copyboard">Copy</button></div>
<button data-text="Hello World 2" class="copyboard">Copy</button></div>
<button data-text="Hello World 3" class="copyboard">Copy</button></div>
Run Code Online (Sandbox Code Playgroud)

当我点击它返回这个:

未捕获的类型错误:copyText.select 不是函数

javascript jquery

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

标签 统计

javascript ×7

jquery ×7

html ×4

clipboard ×3

css ×2

click ×1

copy ×1

php ×1

toggle ×1

twitter-bootstrap-3 ×1