复制内容到剪贴板,不光安卓手机,还有苹果手机呢!

复制内容到剪贴板

·苹果手机复制到粘贴板
·安卓手机复制到粘贴板

网上找了很多方法,我都试了一下;
发现或多或少,都存在点问题;
android手机能用;
然而一到苹果手机就不好使;
害的一直用android手机的我跟测试说了好几遍 都好使啊!

直到我用苹果手机测试发现
就Apple有这个问题
乔布斯之后Apple系统越来越脱机了保不齐哪天就废了

但是还是得处理啊,客户跟你死磕

1.给大家看看网上的写处理
<input id="demoInput" value="hello world">
<button id="btn">点我复制</button>
const btn = document.querySelector('#btn');
btn.addEventListener('click', () => {
    const input = document.querySelector('#demoInput');
    input.select();
    if (document.execCommand('copy')) {
        document.execCommand('copy');
        console.log('复制成功');
    }
})

写个页面,不熟看下,还是只能android使用;

2.当然你可以使用clipboard.js,好使不好使,

我也不知道,但是我感觉没必要,系统自带的功能,几行代码就应该搞定的。何必用个插件;大家可以去试试;

var clipboard = new Clipboard('#codeBtn');
3.使用jquery

来看代码直接

<table id="data">
    <tr>
        <td class="copyable"> 姓名:</td>
        <td class="copyable">张三</td>
    </tr>
    <tr>
        <td> 年龄:</td>
        <td>18</td>
    </tr>
    <tr>
        <td class="copyable"> 性别:</td>
        <td class="copyable"></td>
    </tr>
</table> 
<br> <button id="copy">copy</button>
<div id="copy-temp"></div>
$("#copy").click(function () {
    var $o = $("<textarea rows='10' cols='50'>");
    $o.val($("#data .copyable").text())//填充要复制的文字
    $("#copy-temp").append($o)
    if (copy($o[0])) {
        $o.remove()
        alert("复制成功!");
    }else{
        alert("复制失败,请手动复制");
    }
})

function copy(obj) {
    obj.select();
    try {
        if (document.execCommand('copy', false, null)) {
            document.execCommand("Copy");
            return true;
        } 
    } catch (err) {

    }
    return false;
}

你会发现还是只能在android手机使用,万恶的Apple感觉像IE6一样的存在!
想要在安卓手机和苹果手机全部兼容
复制内容到剪贴板,不光安卓手机,还有苹果手机呢!
微信搜索 前端洋葱 并关注回复 copy 获取相关代码

完美解决安卓和苹果手机复制内容到剪贴板的兼容性问题!