<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的輸入框需要處理 } }
//微信平台判斷
var u = navigator.userAgent;
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/xxx") } }
}
}
}
//是否有APP跳轉 function hasAppTurn(noapp,hasapp){ var hasApp = true , t = 2000; //setTimeout(function () {//沒有安裝APP則跳轉至應用寶下載,延時時間設置為2秒 // if(!hasApp) window.location.href = noapp; //} , 3000); 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);
if(!hasApp) window.location.href = noapp;
} , t);
}
$('.openApp').click(function(){ startApp() })
//內容復制
var mytip = new MyDialog({
type:1,
content:''
})
var str = '測試下復制';
//點擊復制啊
$(window).click(function(){
copyUrl2(str)
})
注意:
cope-box內的元素不顯示在頁面但是不能是hide否則復制不成功
ios的通用鏈接不能是同域名的否則跳轉不成功(經測試不同子域名也可以)