如果未安装instagram,我想显示一个弹出窗口。我现在有这个代码:
setTimeout(function () {
$.mobile.changePage( "dialog-instagram.html", { role: "dialog" });
}, 5);
window.location = "instagram://media?id=" + element.title;
如果在手机上安装了Instagram,则会启动该应用并显示我想要的照片。如果未安装,请启动dialog-instagram.html
谢谢。问题是始终启动dialog-instagram.html。如果应用程序未打开,我只是希望它启动。我理解为什么,代码启动延迟5秒。
能做到吗?我怎么知道window.location是否成功?
答案 0 :(得分:0)
尝试增加延迟时间非常短,所以你可以尝试增加它(300ms
是合理的)。如果这不起作用,请尝试使用此代码(基于this answer):
function startIThrown(){
document.location = 'instagram://media?id=' + element.title;
setTimeout(function(){
if(confirm('You do not seem to have iThrown installed, do you want to go download it now?')){
document.location = 'http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=293049283&mt=8&uo=6';
}
}, 300);
}
<a href="#" onclick="startIThrown()">Restart iThrown</a>