js在ios下如何唤醒app 20C

ios下,分享页面在QQ内置浏览器打开,window.location=“ios人员给的某个协议”,打不开app,可是安卓能够打开,求大佬翻牌解惑

2个回答

var browser = {
versions: function () {
var u = navigator.userAgent,
app = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1, /*IE内核*/
presto: u.indexOf('Presto') > -1, /*opera内核*/
webKit: u.indexOf('AppleWebKit') > -1, /*苹果、谷歌内核*/
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, /*火狐内核*/
mobile: !!u.match(/AppleWebKit.*Mobile.*/), /*是否为移动终端*/
ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), /*ios终端*/
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, /*android终端或者uc浏览器*/
iPhone: u.indexOf('iPhone') > -1, /*是否为iPhone或者QQHD浏览器*/
iPad: u.indexOf('iPad') > -1, /*是否iPad*/
webApp: u.indexOf('Safari') == -1, /*是否web应该程序,没有头部与底部*/
souyue: u.indexOf('souyue') > -1,
superapp: u.indexOf('superapp') > -1,
weixin: u.toLowerCase().indexOf('micromessenger') > -1,
Safari: u.indexOf('Safari') > -1
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
};

document.querySelector(".cyj-download-btn").onclick = function () {
    document.querySelector(".show-dialog").style.display = "block";
    setTimeout(function () {
        document.querySelector(".show-dialog").style.display = "none";
    },1000);
    if (browser.versions.ios) {
        window.location.href = "打开该App的连接://openApp";
        setTimeout(function () {
            window.location.href = "该App的连接地址;
            window.location.href = "该App的连接地址";
        }, 2000)
    } else if (browser.versions.android) {
        window.location.href = "打开该App的连接://openApp";
        setTimeout(function () {
            window.location.href = "该App的连接地址";
        }, 2000)
    }
};
qq_36444018
迷途小鸟 可是ios下,在qq内置浏览器下打开还是跳转到appstore
2 年多之前 回复
qq_36444018
迷途小鸟 这个方法用过的
2 年多之前 回复
 <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLName</key>
            <string>com.test.jay</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>test</string>
            </array>
        </dict>
    </array>

图片说明

假设在ios客户端配置的是上面URLSchemes,那么你可以直接在safiri使用test://直接打开这个原生应用;
不能跳转的原因

  1. 可能是ios应用的URLSchemes配置有问题

  2. 你直接跳转到appstore说明前面的转到应用的判断条件不满足,你可以检查这个条件判断。

qq_24597923
qq_24597923 回复迷途小鸟: 大佬解决了么 。。我这页是QQ打不开
一年多之前 回复
qq_36444018
迷途小鸟 safira可以打开,可是在QQ微信的内置浏览器打不开,是因为腾讯那边的白名单导致的吗
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐