苹果和安卓手机 h5页面的js复制功能,没有使用clipboard插件
程序员文章站
2022-05-14 22:21:47
...
html的写法不固定 只要id和js里的id对应的上就ok,另外 当html 元素的 display:none 时 本方法不可用
js代码里有一段安卓uc的js,虽然只是弹了一个成功的框,但是他的存在是有意义的 自己琢磨吧!
html:
<div class="copy-pp" id="copy-pp" style="width:1px;height:1px;z-index:-9999999;position: fixed; color:#fff">02160380827</div>
<textarea class="copy-text" id="copy-text" value="" readonly="readonly" style=" color:#fff;width:1px;height:1px;z-index:-9999999;position: fixed;"></textarea>
js:
down_a: function(e) {
var u = navigator.userAgent;
//苹果
if (u.match(/(iPhone|iPod|iPad);?/i)) {
var text = document.getElementById("copy-pp");
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
var successful = document.execCommand('copy');
var msg = successful ? '复制成功' : '复制失败';
window.getSelection().removeAllRanges();
alert_box(msg);
// var copyDOM = $("#copy-pp").html();
// var range = document.createRange();
// range.selectNode(copyDOM);
// window.getSelection().addRange(range);
}
if (u.indexOf('Android') > -1) {
var $copyText = document.getElementById("copy-text"),
$copyPP = document.getElementById("copy-pp");
$copyText.innerHTML = $copyPP.innerHTML.replace(/<[^>]+>/g, "");
$copyText.select(); // 选择对象
var successful = document.execCommand('copy');
var msg = successful ? '复制成功' : '复制失败';
alert_box(msg);
}
// 安卓系统的UC浏览器
if (u.indexOf('Android') > -1 && u.indexOf('UCBrowser') > -1) {
alert_box('复制成功');
}
},
上一篇: web页面防复制代码
下一篇: 前端禁止拷贝页面上的文字内容