iOS 9.3.2自定义URL方案不能从Safari启动应用程序
iOS 9.3.2 Custom URL Scheme not launching app from Safari
我的网页检测操作系统和浏览器,在iOS的情况下,Safari将使用自定义URL方案启动我的应用程序。
它在我的测试设备上工作得很好,但我看到一个用户在iOS/9.3.2上使用Safari/9.0的问题-链接根本不做任何事情!
不再支持自定义URL方案?我需要开始使用通用链接吗?
对于那些感兴趣的人,这里是我在iOS浏览器中使用的Javascript代码(99%的时间都在工作):
var timer;
var heartbeat;
var lastInterval;
window.addEventListener("pageshow", function(evt){
clearTimers();
}, false);
window.addEventListener("pagehide", function(evt){
clearTimers();
}, false);
function getTime() {
return (new Date()).getTime();
}
// For all other browsers except Safari (which do not support pageshow and pagehide properly)
function intervalHeartbeat()
{
var now = getTime();
var diff = now - lastInterval - 200;
lastInterval = now;
if(diff > 1000)
{ // don't trigger on small stutters less than 1000ms
clearTimers();
}
}
function clearTimers()
{
clearTimeout(timer);
clearTimeout(heartbeat);
}
function intervalHeartbeat()
{
if (document.webkitHidden || document.hidden)
{
clearTimers();
}
}
function launch()
{
lastInterval = getTime();
heartbeat = setInterval(intervalHeartbeat, 200);
timer = setTimeout(function ()
{
logErrorToMyServer();
}, 2000);
//Launch app via custom URL scheme
window.location = "myapp://";
}
自iOS 9.2引入以来,自定义URI方案一直不是一个好的选择。苹果已经明确表示,通用链接是深度链接的首选方式。
我不知道是否有任何溯及性的改变会导致Safari 9.0 - 9.3.2在这种情况下什么也不做 (你至少应该得到一个错误弹出),但在可预见的未来,这将继续不受支持,你应该尽快得到通用链接的启动和运行。
相关文章:
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- RGB 到 HEX JavaScript 函数在 Chrome 中工作,但不能在 Firefox 或 Safari 中工
- 我的简单Javascript代码可以在Safari上运行,但不能在Chrome、Firefox或Opera上运行
- Date.prototype.get日期;不能在Safari中工作
- JQuery图像大小计算没有'不能在Chrome/Safari中工作
- JavaScript倒计时;不能在Safari中工作
- 为什么这个html5音频不能在chrome上工作,但在safari上工作得很好
- Javascript可以在Safari上运行,但不能在任何其他浏览器上运行
- Javascript在Safari中工作,但不能在Chrome或Firefox中工作
- jQuery在Chrome和Safari中工作,但不能在Firefox或IE中工作
- 不能在一个页面上编写cookie,Safari iOS
- 为什么 $(document).blur() 和 $(document).focus() 不能与 Safari 或 Ch
- Ajax在Chrome / Safari中提交作品,但不能在Firefox / IE中提交作品
- jQuery scrollTop()没有'不能在Safari中工作
- 谷歌地图地理编码PHP可以在IE中工作,但不能在Chrome/mobile、Edge或Safari/mobile中工作.
- JavaScript代码只能在Chrome中使用,但不能在Firefox、IE、Opera和Safari中使用
- Javascript倒计时;不能在Safari或IE中工作
- 调用input的点击事件;不能在Safari中工作