如果未使用 javascript 安装应用程序,则创建后备 URL
Create a fallback URL if app is not installed using javascript
我正在尝试制作一个插件,当用户在 Android 或 iOS 设备上浏览时,将正常的 links 转换为深度 links。因此,例如,它找到 link 并将其替换为深度 link,如下所示:
var facebookURL = $('[href*="facebook.com"]');
var facebookDeep = 'fb://profile/123456789';
$(facebookURL).attr('href', facebookDeep);
单击 link 并安装 Facebook 后,link 将打开 Facebook 应用程序。但是,如果未安装 Facebook,则单击 link 时不会发生任何事情。所以我想如果 1000 毫秒后仍然有焦点在框架上,我会自动打开网络 URL:
$($(facebookURL)).click(function(){
setTimeout(function(){
if ($(this).is(":focus")) {
location.href = 'https://facebook.com';
} else {
console.log('Focus was lost');
}
}, 1000);
});
但是这会记录 焦点丢失。
关于我可以完成此任务的其他方法有什么想法吗?或者,如果有更简单的方法来创建后备。
改变这个:
if ($(this).is(":focus")) {
对此:
if ($(facebookURL).is(":focus")) {
更多信息:The 'this' problem
我正在尝试制作一个插件,当用户在 Android 或 iOS 设备上浏览时,将正常的 links 转换为深度 links。因此,例如,它找到 link 并将其替换为深度 link,如下所示:
var facebookURL = $('[href*="facebook.com"]');
var facebookDeep = 'fb://profile/123456789';
$(facebookURL).attr('href', facebookDeep);
单击 link 并安装 Facebook 后,link 将打开 Facebook 应用程序。但是,如果未安装 Facebook,则单击 link 时不会发生任何事情。所以我想如果 1000 毫秒后仍然有焦点在框架上,我会自动打开网络 URL:
$($(facebookURL)).click(function(){
setTimeout(function(){
if ($(this).is(":focus")) {
location.href = 'https://facebook.com';
} else {
console.log('Focus was lost');
}
}, 1000);
});
但是这会记录 焦点丢失。
关于我可以完成此任务的其他方法有什么想法吗?或者,如果有更简单的方法来创建后备。
改变这个:
if ($(this).is(":focus")) {
对此:
if ($(facebookURL).is(":focus")) {
更多信息:The 'this' problem