3

我使用 MVC 4 创建一个网站,我需要在 javascript 中打开一个应用程序,使用 url 方案(使用移动设备浏览网站)如果未安装应用程序,我需要 javascript 重定向到谷歌玩。

我已经查看并尝试了以下线程中提到的所有各种方法: 如何在未处理 Android 自定义 URL 方案时回退到市场?

其中许多解决方案依赖于超时事件,如果未安装应用程序,它将重定向到另一个网站。我遇到的问题是,window.location = URL;在我的 javascript 中使用了之后,我创建的任何超时似乎都消失了。如果我跳过window.location = URL;我的超时触发就好了并重定向到谷歌播放或其他什么。有谁明白我为什么会遇到这个问题?

正如我所说,我使用 MVC 4,并在一个简单的视图中执行 javascript。我尝试了许多不同的代码,打开 iframe 等,都导致了上述相同的问题。我刚刚尝试打开应用程序,并使用 Safari 在 iPhone 设备上延迟 iTunes 重定向,它似乎有效。android/chrome 也能达到同样的效果吗?

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

4

2 回答 2

2

Google Chrome(v25 及更高版本)不再支持使用 iframe 打开应用程序。您可以参考Android 指南中的示例以打开应用程序(如果已安装)或重定向到市场。

于 2013-12-24T09:52:39.807 回答
-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);
于 2013-12-18T06:40:38.000 回答