如果App尚未安装,是否有办法为移动设备浏览器启动弹出窗口?

时间:2013-01-11 06:48:31

标签: javascript android iphone ipad

我正在寻找一种在通过移动浏览器查看网站时启动弹出窗口的方法,询问用户是否要安装我们的应用程序。但是我只希望在尚未安装App的情况下显示弹出提示。

我使用了以下JavaScript(适用于Apple设备:

<script type="text/javascript">
if( /iPad|iPhone/i.test(navigator.userAgent) ) {
var url=confirm("Would you like to download our mobile application?");
if (url==true)
{
var url = window.location.href = 'http://www.itunes.com';
url.show(); 
}
else
{
}
}
</script>

正如此处所讨论的:App notification popup mobile device web browser

然而,无论如何,这个弹出窗口都会在iOS上启动。我知道你可以在这里查看应用网址方案(以便查看是否安装了应用):How to launch apps (facebook/twitter/etc) from mobile browser but fall back to hyperlink if the app isn't installed

我可以通过结合这两种技术来实现这一目标吗?

2 个答案:

答案 0 :(得分:2)

如果您的应用具有自定义网址方案,则可以使用此方法:

<script type="text/javascript">
function startMyApp()
{
  document.location = 'appCustomScheme://';
  setTimeout( function()
  {
      if( confirm( 'Install app?'))
      {
        document.location = 'http://itunes.apple.com/us/app/yourAppId';
      }
  }, 300);
 }
</script>

并在页面加载时调用函数startMyApp(),或者如果需要将其绑定到某个javascript事件(单击等)。

答案 1 :(得分:0)

如果您要检测设备中是否安装了Twitter或Facebook,可以在脚本中使用此功能。

var url = window.location.href = 'fb://';

for twitter

var url = window.location.href = 'twitter://';

如果不起作用,请尝试取出//。以上陈述将打开twitter或facebook应用程序,您可以在if循环中使用它来检测设备上是否安装了应用程序。