javascript - 短信里的短地址调起app应用,如何实现?
大家讲道理
大家讲道理 2017-04-11 11:31:27
0
1
781

给用户发送一条短信,
里面有一条短地址,
用户点击就能打开APP首页或指定页面。

这如何实现的?
用的第三方应用还是自己写的?
大神有没有做过类似的例子?
求思路 求指导

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(1)
巴扎黑

可以用掰百度短网址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;  
}  
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage