Rumah > Soal Jawab > teks badan
给用户发送一条短信,
里面有一条短地址,
用户点击就能打开APP首页或指定页面。
这如何实现的?
用的第三方应用还是自己写的?
大神有没有做过类似的例子?
求思路 求指导
巴扎黑2017-04-11 11:33:27
可以用掰百度短网址http://dwz.cn/ 或新浪短网址 http://t.cn/,用户点击短网址发起请求,手机系统识别到地址的schema,如果有安装该schema对应的app就会唤起打开,如果没有则可能没有响应或者打开浏览器。
function AppOpen(schema) {
var ua = navigator.userAgent.toLowerCase();
//由于ios9以上系统不能直接iframe方式唤起app,需要通过创建a链接才能唤起
if ((ua.indexOf('safari') > -1 && (ua.indexOf('os 5') == -1|| ua.indexOf('os 6') == -1|| ua.indexOf('os 7') == -1|| ua.indexOf('os 8') == -1)) {
var schemaLinkOpen = document.getElementById('schemaLinkOpen');
if (!schemaLinkOpen) {
schemaLinkOpen = document.createElement('a');
schemaLinkOpen.id = 'schemaLinkOpen';
schemaLinkOpen.style.display = 'none';
document.body.appendChild(schemaLinkOpen);
} schemaLinkOpen.href =schema;
// 执行click schemaLinkOpen.dispatchEvent(CustomClickEvent());
}
var iframeObj = document.createElement("iframe");
var startTime = (new Date()).getTime();
if (iframeObj != null) {
iframeObj.setAttribute("style", "height:0px;width:0px;display:none;");
iframeObj.setAttribute("src", scheme);
document.body.appendChild(iframeObj);
document.body.removeChild(iframeObj);
}
setTimeout(function () {
var endTime = (new Date()).getTime();
if (isiPhone) {
if (endTime - startTime < 700) {
window.open(sHrefUrl, "_parent");
}
}
}, 550);
}
function CustomClickEvent() {
var clickEvent;
if (window.CustomEvent) {
clickEvent = new window.CustomEvent("click", {
canBubble: true,
cancelable: true
});
} else {
clickEvent = document.createEvent('Event');
clickEvent.initEvent('click', true, true);
}
return clickEvent;
}