我希望在我的网页上有一个链接,试图在Facebook移动应用上打开一个人的Facebook个人资料(如果已安装),如果没有,请在facebook.com上打开。
许多网站和SO页面都提供了以下方法。
<a data-fb-url="fb://profile?app_scoped_user_id=myProfile"
href="http://www.facebook.com/myProfile">
Go to Facebook
</a>
$('[data-fb-url]').click(function () {
// set a back up in case the app doesn't open
setTimeout(() => document.location.href = this.href, 25);
// open the app if possible
document.location.href = $(this).attr('data-fb-url');
// prevent the link from triggering by simply being clicked
return false;
});
这实际上打开了应用程序,但它也不会阻止浏览器导航到Facebook移动页面。
pagehide
和unload
事件添加侦听器并清除超时。load
事件清除超时。window.location
代替document.location.href
。在应用程序打开后,这些都没有阻止位置更改。
我应该指出我只在iOS Chrome上试过这些。这些方法可能适用于其他浏览器,但我还没有真正关心它们。