Javascript 从WEB(js)重定向到Windows Phone应用程序(未安装时-上市)

Javascript 从WEB(js)重定向到Windows Phone应用程序(未安装时-上市),javascript,angularjs,windows-phone-8,Javascript,Angularjs,Windows Phone 8,我有这样的代码(angular.js)来检测移动平台并重定向到本机应用程序(如果未安装,则重定向到市场): 现在我有一个问题: 如何在windows phone平台上执行此操作 windows phone是否能识别自己是否安装了应用程序(就像android一样),或者我需要使用iOSdo\ 另外,如何将参数传递给应用程序(如android do)?Windows Phone上的应用程序链接为: 这将在浏览器中打开页面,并立即重定向到应用商店应用程序 还提到微软视窗-store://pdp/?Pr

我有这样的代码(
angular.js
)来检测移动平台并重定向到本机应用程序(如果未安装,则重定向到市场):

现在我有一个问题:

如何在
windows phone
平台上执行此操作

windows phone是否能识别自己是否安装了应用程序(就像android一样),或者我需要使用
iOS
do\
另外,如何将参数传递给应用程序(如android do)?

Windows Phone上的应用程序链接为: 这将在浏览器中打开页面,并立即重定向到应用商店应用程序

还提到微软视窗-store://pdp/?ProductId={ID}如果您确定所处的平台,则直接打开商店。它可以在Windows10上运行,但在较旧的平台上可能会出现问题

请注意,这些链接中的{GUID}和{ID}是不同的数字


如果您隶属于Windows Phone应用程序开发人员,则可以请求实施。然后,您可以使用自定义实现的uri并将参数传递给应用程序。如果没有安装应用程序,就我所记得的,用户将被问及是否希望在商店中查找与此URI相关联的应用程序。

您可能需要考虑另一种方法,即将应用程序与URL方案(示例;)关联起来,如果安装的话,该应用程序将启动应用程序。如果没有,它将跟随该链接,在该页面上,您可以将它们重定向到相应的应用商店。这在Android和IOS中都可以使用,而且可能在WP中也可以使用。例如,imdb和youtube就是这样做的。这个问题解释了@jishi all在Android和iOS上工作得非常完美。所以我不需要改变任何事情。顺便说一句:android已经有了这个模式。我的问题是关于WP!它将重定向到存储,唯一的区别是主按钮上的文本将是“显示”而不是“安装”。@brabertaser1992我编辑了答案并添加了有关uri关联的信息。
$scope.isMobile = {
  Android: function() {
      return navigator.userAgent.match(/Android/i);
  },
  BlackBerry: function() {
      return navigator.userAgent.match(/BlackBerry/i);
  },
  iOS: function() {
      return navigator.userAgent.match(/iPhone|iPad|iPod/i);
  },
  Opera: function() {
      return navigator.userAgent.match(/Opera Mini/i);
  },
  Windows: function() {
      return navigator.userAgent.match(/IEMobile/i);
  },
  any: function() {
      return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
  }
};


if($scope.isMobile.Android()){
  $timeout(function() {
    $window.open(
      'https://play.google.com/store/apps/details?id=***&referrer=' + $routeParams.inviteId,
      '_self'
    );
  }, 500);
}

if($scope.isMobile.iOS()){
  window.location = '***://?referrer=' + $scope.inviteId;
  setTimeout("window.location = 'https://itunes.apple.com/us/app/****/id***';", 1000);
}