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()
        })

//內容複製javascript

var mytip = new MyDialog({
type:1,
content:''
})
var str = '測試下複製';
//點擊複製啊
$(window).click(function(){
copyUrl2(str)
})java

 

注意:android

cope-box內的元素不顯示在頁面可是不能是hide不然複製不成功ios的通用連接不能是同域名的不然跳轉不成功(經測試不一樣子域名也能夠)
相關文章
相關標籤/搜索