我正在使用MVC 4创建一个网站,我需要在javascript中打开一个应用程序,使用url-scheme(使用移动设备浏览网站)如果没有安装应用程序,我需要javascript来重定向到谷歌播放。
我已经查看并尝试了这样的线程中提到的所有各种方法: How to fall back to marketplace when Android custom URL scheme not handled?
其中许多解决方案都依赖于超时事件,如果未安装应用程序,该事件将重定向到另一个网站。我遇到的问题是,在我的javascript中使用window.location = URL;
后,我创建的任何超时似乎都消失了。如果我跳过window.location = URL;
我的超时火就好并重定向到Google Play等等。有谁知道为什么我遇到这个问题?
正如我所说的那样使用MVC 4,并在一个简单的视图中执行javascript。我尝试了许多不同的代码,打开iframe等,都导致了上面提到的同样的问题。 我只是尝试打开应用程序,并使用Safari推迟iPhone设备上的ITunes重定向,它似乎工作。用android / chrome可以实现同样的目的吗?
如果考虑到这一点,我将不胜感激。
答案 0 :(得分:2)
Google Chrome不再支持使用iframe打开应用(v25以上版本)。您可以参考Android Guidelines上的示例打开应用程序(如果已安装)或重定向到市场。
答案 1 :(得分:-1)
我喜欢Skype解决方案:
var element = document.createElement('iframe');
element.id = '_the_frame_' = ((new Date()).getTime();
document.appendChild(element);
var r = document.getElementById(element.id);
var u = true;
window.addEventListener("pagehide", function () { u = false; }, false);
if (r !== null) {
r.src = _customSchemaUrl;
}
setTimeout(function() {
if (u) {
window.location = _downloadIosUrl;
}
}, 2000);