欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

苹果和安卓手机 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('复制成功');
                    }

                },