h5复制粘贴板,打开APP功能

<div class="container">
    <img src="../themes/mall/img/i_red_ad4.jpg">
    <div class="bnt-box">
        <a class="openApp" href="javascript:void(0);">打开</a>
    </div>
    <div id="cope-box">
        <input type="text" id="copyInput" value=""><!-- 用于安卓复制 -->
        <p id="coptText"></p><!-- 用于ios复制 -->
    </div>
</div>
 
 
//复制内容
        function copyUrl2(str)
        {
            console.log(str)
            if (isiOS) {
                coptText.innerHTML = str;
                var copyDOM = document.querySelector('#coptText');  //要复制文字的节点  
                var range = document.createRange();    
                // 选中需要复制的节点  
                range.selectNode(copyDOM);  
                // 执行选中元素  
                window.getSelection().addRange(range);  
                // 执行 copy 操作  
                var successful = document.execCommand('copy');    
                try {    
                    var msg = successful ? 'successful' : 'unsuccessful'; 
                    
                    console.log('copy is' + msg);    
                } catch(err) {
                    mytip.show({content:'复制失败'});  
                }  
                // 移除选中的元素  
                window.getSelection().removeAllRanges();  
            }else{
                var oInput = document.getElementById('copyInput')
                oInput.value = str;
                oInput.select(); // 选择对象
                document.execCommand("Copy"); // 执行浏览器复制命令
                oInput.blur();//input标签会调起native的输入框需要处理
            }
        }
//微信平台判断
        function isInWx(){
            var agent = window.navigator.userAgent.toLowerCase();
            return agent.match(/MicroMessenger/i) == 'micromessenger';
        }
        function startApp(){//启动APP
            if(isInWx()){//微信中
                mytip.show({content:'请在浏览器中打开'});
            }else{//非微信中
                if(isiOS){//IOS系统,直接去itunes中,既可以下载也可以打开
                    var ver = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
                    if (ver<9) {
                        hasAppTurn("https://itunes.apple.com/。。。。应用市场链接","schema链接")
                    }else{
                        hasAppTurn("https://itunes.apple.com/。。。。应用市场链接","https://ios通用链接") 
            }
          }else{

             //android系统,通过定时器的方式,判断是否安装有APP
             hasAppTurn("安卓下载地址","tps://host_xxxx/tps") } }
          }
      }
    }

//是否有APP跳转
        function hasAppTurn(noapp,hasapp){
            var hasApp = true , t = 1000;
            setTimeout(function () {//没有安装APP则跳转至应用宝下载,延时时间设置为2秒
                if(!hasApp) window.location.href = noapp;
            } , 2000);
            var t1 = Date.now();
            window.location.href = hasapp;
            setTimeout(function () {//t的时间就是出发APP启动的时间,若APP启动了,再次返回页面时t2这行代码执行,hasApp即为true。反之若APP没有启动即为false
                var t2 = Date.now();
                hasApp = !(!t1 || t2 - t1 < t + 150);
            } , t);
        }

        $('.openApp').click(function(){
            startApp()
        })

//内容复制

var mytip = new MyDialog({
type:1,
content:''
})
var str = '测试下复制';
//点击复制啊
$(window).click(function(){
copyUrl2(str)
})

 

注意:

cope-box内的元素不显示在页面但是不能是hide否则复制不成功
ios的通用链接不能是同域名的否则跳转不成功(经测试不同子域名也可以)


转载于:https://www.cnblogs.com/lichuntian/p/9391069.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值