最簡單的移動端pc端(解決蘋果端的兼容問題)一鍵複製,保存到剪貼板

先上效果圖:
這裏寫圖片描述
爲了用戶體驗更佳,對於公衆號,手機號,物流單號,等需要一鍵複製而不是讓用戶一個一個的去選擇。


demo鏈接:


http://download.csdn.net/download/vlilyv/9970325
github下載地址
https://github.com/vlily/share/blob/master/%E4%B8%80%E9%94%AE%E5%A4%8D%E5%88%B6%E5%85%BC%E5%AE%B9%E8%8B%B9%E6%9E%9C%E6%89%8B%E6%9C%BA.html
html:

<p class="cash_num">測試:<input style="border: none;display: inline-block;" type="text" readonly="" id="clip_num" value="公衆號wander_yun"><span style="font-size:0.21739rem;background: #6399ae;color: #f4d345;font-weight: bold;padding: 0.05435rem;" id="clip_button" onClick="copyNum()">點擊複製</span></p>

js:

// 思路:要想複製到剪貼板,必須先選中這段文字。
function copyNum(){
    var NumClip=document.getElementById("clip_num");
    var NValue=NumClip.value;
    var valueLength = NValue.length;
    selectText(NumClip, 0, valueLength);
    if(document.execCommand('copy', false, null)){
        document.execCommand('copy', false, null)// 執行瀏覽器複製命令
        console.log("已複製,趕緊分享給朋友吧");
    }else{
        console.log("不兼容");
    }

    }
// input自帶的select()方法在蘋果端無法進行選擇,所以需要自己去寫一個類似的方法
// 選擇文本。createTextRange(setSelectionRange)是input方法
function selectText(textbox, startIndex, stopIndex) {
    if(textbox.createTextRange) {//ie
        var range = textbox.createTextRange();
        range.collapse(true);
        range.moveStart('character', startIndex);//起始光標
        range.moveEnd('character', stopIndex - startIndex);//結束光標
        range.select();//不兼容蘋果
    }else{//firefox/chrome
        textbox.setSelectionRange(startIndex, stopIndex);
        textbox.focus();
    }
}

有問題可下載demo查看。還有問題請關注公衆號(裏面有我微信),公衆號在博客名字裏。
兼容性補充:
在線測試:http://www.wanderyun.com/demo/oneCopy.html
移動端:
安卓手機:微信(chrome)和幾個手機瀏覽器都可以用。
蘋果手機:微信裏面和sarafi瀏覽器裏也都可以,
但是在pc上sarafi版本必須在10.2以上,其他瀏覽器可以。哈哈,我這個以前都測過,今天特意又去測了一下,也有其他的方法,大家百度都有。看需求吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章