js 复制

本文介绍了一个JavaScript库window.Clipboard,演示如何在网页中创建文本区域,实现跨平台的文本选择和复制功能,特别针对iOS设备进行了优化。通过实例展示了如何调用copy函数将指定文本复制到iOS设备的剪贴板。
摘要由CSDN通过智能技术生成
window.Clipboard = (function(window, document, navigator) {
                var textArea,
                    copy;
 
                // 判断是不是ios端
                function isOS() {
                    return navigator.userAgent.match(/ipad|iphone/i);
                }
                //创建文本元素
                function createTextArea(text) {
                    textArea = document.createElement('textArea');
                    textArea.innerHTML = text;
                    textArea.value = text;
                    document.body.appendChild(textArea);
                }
                //选择内容
                function selectText() {
                    var range,
                        selection;
 
                    if (isOS()) {
                        range = document.createRange();
                        range.selectNodeContents(textArea);
                        selection = window.getSelection();
                        selection.removeAllRanges();
                        selection.addRange(range);
                        textArea.setSelectionRange(0, 999999);
                    } else {
                        textArea.select();
                    }
                }
 
                //复制到剪贴板
                function copyToClipboard() {
                    try{
                        if(document.execCommand("Copy")){
                            alert('复制成功') 
                            //layer.msg('复制成功');
                        }else{
                            alert('复制失败!请手动复制!') 
                            //layer.msg('复制失败!请手动复制!');
                        }
                    }catch(err){
                            alert('复制错误!请手动复制!') 
                            //layer.msg('复制错误!请手动复制!');
 
                    }
                    document.body.removeChild(textArea);
                }
 
                copy = function(text) {
                    createTextArea(text);
                    selectText();
                    copyToClipboard();
                };
 
                return {
                    copy: copy
                };
            })(window, document, navigator);


Clipboard.copy('要复制的文本');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值