从Chrome浏览器网址打开应用程序或使用javascript重定向到谷歌播放

时间:2013-11-07 10:40:13

标签: javascript android ios browser url-scheme

我正在使用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可以实现同样的目的吗?

如果考虑到这一点,我将不胜感激。

2 个答案:

答案 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);
相关问题