h5复制粘贴板,打开APP功能
2024-08-24 15:47:44
<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的通用链接不能是同域名的否则跳转不成功(经测试不同子域名也可以)
最新文章
- 2016HUAS_ACM暑假集训4C - 递推
- css3 em rem等单位的区别
- ubuntu下 too many file open 异常
- Skyline6.5系列覆盖三维地理信息产业上下游
- Ext.Net 破解
- NHibernate的简单例子
- Xdebug的使用
- BZOJ1954: Pku3764 The xor-longest Path
- uva 1589 by sixleaves
- 模拟HTTP请求:Request Maker
- 如何设置多个同一页的tinymce编辑
- 微信小程序支付步骤
- faultString = ";java.lang.NullPointerException : null";
- 许式伟:我与Go语言的这十年[转]
- L1-046 整除光棍 大数除法
- day_3各种数据类型与各种运算符
- C/C++ 控制台窗口暂停
- Oracle 非归档--归档操作流程
- AsyncTask 处理耗时操作&;&;显示进度条
- IDEA 单元测试 导入JUnit4到项目