H5點選複製到貼上板
阿新 • • 發佈:2021-08-20
功能場景
h5頁面需要點選複製內容,到手機的貼上板。
運用外掛clipboard
外掛下載地址:clipboard官網
外掛使用
//html部分
<div class="btn">點我複製</div>
<input id="title1" type="text" value="複製功能測試" readonly="readonly" />
//js部分
function copymsg() {
var Url2 = document.getElementById("title1");//要複製文字的節點
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {//區分iPhone裝置
window.getSelection().removeAllRanges();//這段程式碼必須放在前面否則無效
var range = document.createRange();
// 選中需要複製的節點
range.selectNode(Url2);
// 執行選中元素
window.getSelection().addRange(range);
// 執行 copy 操作
var successful = document.execCommand('copy');
// 移除選中的元素
window.getSelection().removeAllRanges();
} else {
Url2.select(); // 選擇物件
document.execCommand("Copy"); // 執行瀏覽器複製命令
}
}
$(".btn").click(function() {
copymsg();
});
注意事項
這裡的input可以換成div但是寫法會有所區別,詳細見官網介紹。
個人建議用input,因為這個相容性最好。還有input標籤內容不能opacity:0,也不能display:none;它必須在頁面中顯示。
我的做法是,讓它字型顏色、input背景顏色都與頁面背景色一致。這樣就能解決這個相容問題了。