js打开app,浏览器差异问题求大神解决

下面是我的打开app的代码,以微信为例:

    function openWeixin() {
            var ifr = document.createElement('iframe');
            ifr.src = 'weixin://';
            ifr.style.display = 'none';
            document.body.appendChild(ifr);
            window.setTimeout(function () {
                document.body.removeChild(ifr);
            }, 3000)
        }

但是这个代码存在明显兼容性问题,只有某些浏览器可以打开微信,求一段通用的代码,可以屏蔽常用手机浏览器的差异,比如微信浏览器,qq浏览器等等

上述问题已经解决,我的解决办法是这样的,因为浏览器可能存在iframe差异,但是对于location的跳转总没有差异吧?所以上述代码修改为
function openWeixin(){
window.location.href="weixin://";
window.setTimeout(function(){
window.location.href="http://.....";
},3000);
}
实测,问题解决

http://tieba.baidu.com/p/5035815941