如果未使用javascript安装应用,请创建后备网址

时间:2016-07-22 03:39:58

标签: javascript android jquery ios deep-linking

我正在尝试制作一个插件,当用户在Android或iOS设备上浏览时,将普通链接转换为深层链接。因此,例如,它找到链接并将其替换为深层链接,如下所示:

var facebookURL  = $('[href*="facebook.com"]');
var facebookDeep = 'fb://profile/123456789';
$(facebookURL).attr('href', facebookDeep);

点击链接并安装Facebook后,链接将打开Facebook应用程序。但是,如果未安装Facebook,则在单击链接时,没有任何反应。所以我想如果在1000ms之后仍然关注框架,我会自动打开网址:

$($(facebookURL)).click(function(){
  setTimeout(function(){
    if ($(this).is(":focus")) {
      location.href = 'https://facebook.com';
    } else {
      console.log('Focus was lost');
    }
  }, 1000);
});

但是这个日志焦点丢失了

我可以通过另一种方式实现这一点吗?或者,如果有一种更简单的方法来创建后备。

1 个答案:

答案 0 :(得分:1)

改变这个:

if ($(this).is(":focus")) {

到此:

if ($(facebookURL).is(":focus")) {

更多信息:The 'this' problem