js 如何获取剪贴板文字

js 如何获取剪贴板文字,第1张

点击一个链接地址或按钮,就可以将文字内容复制到剪贴板,以便于我们进行贴到 *** 作。下面分享的这个js点击复制文字内容仅支持IE浏览器,还不能兼容所有的浏览器,不过在遇到不兼容的浏览器时会提示浏览器不支持复制,用户可以按提示进行手动复制。

js点击复制内容到剪贴板程序代码如下:

<script type="text/javascript">

function copyText(obj){

try{

var rng = documentbodycreateTextRange();

rngmoveToElementText(obj);

rngscrollIntoView();

rngselect();

rngexecCommand("Copy");

rngcollapse(false);

alert("已经复制到粘贴板!你可以使用Ctrl+V 贴到需要的地方去了哦!");

}catch(e){

alert("您的浏览器不支持此复制功能,请选中相应内容并使用Ctrl+C进行复制!");

}

}

</script>

<span id="tbid">这里是点击链接后复制的内容</span> <a href="javascript:;" onclick="copyText(documentalltbid)">点击复制</a>

思路:你用textarea的select()选中,documentexecCommand("Copy");执行复制到剪切板,

实现:新建一个textarea,把要复制的字段,放到textarea中

function copy(ele){

var textarea = documentcreatElement("textarea");

textareainnerHTML = eleinnerHTML;

textareaselect();

documentexecCommand("Copy");

alert("成功了,请按Ctrl+v进行复制")

}

<script language="javascript">

$(document)ready(function (){

var imgCut1=new ImgCut("showHere","/mydogjpg",150,200,100,100);

}

</script>

<div id="showHere"></div>

如果要实现像QQ邮箱里面的截屏功能,则需要通过ActiveX插件来实现。QQ也是通过插件来实现的。

在这里推荐楼主使用北京新颖网络截屏插件。

详细介绍:>

复制是一个使用频率特别高的 *** 作,在网页中,一般可以选中要复制的内容,使用快捷键 ctrl+c 将内容复制到剪贴板。除了使用系统提供的快捷方式复制网页内容,我们还可以用JS实现复制,这得益于document的 execCommand('copy') 命令。

实现整个复制功能,需要以下三个步骤:

大部分HTML元素都有innerText和innerHTML两个属性,innerText属性返回文本内容,innerHTML属性返回标签元素。我们可以创建一个函数,用于获取需要返回的内容:

上面的selectText函数接收一个DOM元素,返回DOM元素的innerText属性值。

我们可以通过表单元素的select()方法选中内容,表单元素因为textarea限制少于input,所以推荐使用textarea。我们可以动态创建一个textarea元素,将textarea的value属性值设置为上面的innerText属性值,再执行textarea的select方法选中。

上面实现了选中,下面就可以实现复制功能了。

最后一步就可以用execCommand('copy')实现复制了,它可以复制浏览器中选中的文本,比如说上面被textarea选中的文本,复制之后记得移除textarea。

第二步和第三步可以优化一下,创建一个copy函数,函数参数设置为第一步需要复制的文本,返回值为复制的结果。

完整JS示例如下:

可以将上面的完整JS示例写入一个JS文件,将JS文件引入HTML中,通过JS点击事件来执行复制函数。

效果图:

clipboardDatasetData("Text",复制的内容)

看以下的实例

<html>

<script>

function aa(){

newT=documentselectioncreateRange()

clipboardDatasetData("Text",newTtext)

documentallppvalue=clipboardDatagetData("Text")

}

</script>

<span id=ww onmouseup=aa()>

测试一下这个中这你好我是skanso

</span>

<textarea name=pp></textarea>

</html>

打开这个网页之后,用鼠标选择部分字体,选择的字体就自动粘贴在textarea中

现代浏览器基于安全考虑,js 是无法直接读取剪贴板的。

唯一的可能性是,用户在可编辑元素中(如 contenteditable='true'

的 div)主动触发粘贴 *** 作(如,通过 ctrl+V)。此时通过监听 paste 事件, 可以从event中获取到用户所粘贴的内容。

示例代码(支持现代浏览器):

<div id='editableDiv' contenteditable='true'>Paste here</div>function handlePaste (e) {

    var clipboardData, pastedData;

    // 阻止粘贴

    estopPropagation();

    epreventDefault();

    // 获取剪贴板信息

    clipboardData = eclipboardData || windowclipboardData;

    // 获取剪贴板内容,getData 的参数是数据类型,这里为了获取文件路径是 'URL';如果想获取粘贴的文本,用 'Text'

    pastedData = clipboardDatagetData('URL');

    // 处理信息,此时 pastedData 应该是 'file:///path/to/xxx'

    alert(pastedData);

}

documentgetElementById('editableDiv')addEventListener('paste', handlePaste);

但是,与其费心思这样做,为何不直接做成拖动上传呢,应该更易于使用吧。

示例来源

>

以上就是关于js 如何获取剪贴板文字全部的内容,包括:js 如何获取剪贴板文字、js获取事件源的上一个兄弟的值进行复制 *** 作、粘贴图片js怎么获取这个图片(类似于用QQ截图时候ctrl+v获取图片)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10065983.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存