Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当网速变慢时,如何确定setTimeout功能?_Javascript_Jquery_Ios_Deep Linking - Fatal编程技术网

Javascript 当网速变慢时,如何确定setTimeout功能?

Javascript 当网速变慢时,如何确定setTimeout功能?,javascript,jquery,ios,deep-linking,Javascript,Jquery,Ios,Deep Linking,如果用户已在其设备中安装了应用程序,我会尝试将其重定向到应用程序,否则会将其重定向到应用程序下载页面(iTunes) 下面的脚本工作正常,但有时我的互联网速度变慢,appUrl和webUrl都被触发。如何处理这个问题 if (IOSSafari) { window.location.href = appUrl; var startTime = new Date(); setTimeout(function() { if (new Date()

如果用户已在其设备中安装了应用程序,我会尝试将其重定向到应用程序,否则会将其重定向到应用程序下载页面(iTunes)

下面的脚本工作正常,但有时我的互联网速度变慢,appUrl和webUrl都被触发。如何处理这个问题

if (IOSSafari) 
{    
window.location.href = appUrl;
var startTime = new Date();
setTimeout(function() 
{                
    if (new Date() - startTime < 600) 
    {                 
        if (window.location.href != webUrl) 
            window.location.href = webUrl;
    }
}, 500);
}
if(iosafari)
{    
window.location.href=appUrl;
var startTime=新日期();
setTimeout(函数()
{                
如果(新日期()-开始时间<600)
{                 
如果(window.location.href!=webUrl)
window.location.href=webUrl;
}
}, 500);
}

使用回调而不是setTimeout。一旦确定重定向的条件,然后调用此回调函数。请给我一些相关脚本的示例…如何确定用户是否拥有应用程序?通过用户代理检测,传递应用程序url(方案)还发现了应用程序,所以我不理解设置超时的必要性……根据用户代理,您已经知道他是在使用应用程序还是浏览器。