如何为社交媒体网站编写链接:移动应用(如果是移动设备)和标准网址(如果是桌面设备)?

时间:2015-10-30 05:01:20

标签: javascript jquery html5 url mobile

如何在具有两种可能结果的网站上建立链接,具体取决于您使用的设备类型(移动应用与本机)。


移动

<a href="fb://profile/6815841748">Facebook</a>
<a href="instagram://user?username=barackobama">Instagram</a>
<a href="twitter://813286">Twitter</a>

如果在桌面上点击,我会得到:&#34;没有设置应用程序来打开网址&#34;


<小时/>

原生

<a href="https://www.facebook.com/6815841748">Facebook</a>
<a href="https://www.instagram.com/barackobama">Instagram</a>
<a href="https://www.twitter.com/813286">Twitter</a>

这会在浏览器中重定向到社交媒体网站;不适用于移动应用。


<小时/>

我不确定这是否可以使用纯HTML5或使用jQuery / Javascript?

我也不知道是否需要编写特定于每个操作系统(iOS / Android / Windows等)的移动应用URL。我只有iOS才能测试。

注意:我不想使用CSS宽度,因为我认为这不是最佳做法。如果桌面用户使用分屏或调整大小的窗口单击链接,则很容易中断。

3 个答案:

答案 0 :(得分:3)

使用CSS媒体查询的问题是,如果用户未安装该应用,则无法执行任何操作(或者在Android情况下,它会将用户重定向到Play商店中的应用)。

因此我的建议是使用Javascript,检查userAgent字符串,并通过它设置链接。使用超时延迟或计时器检查用户在单击链接后是否仍在页面上。如果是,那意味着他们没有安装应用程序,因此您可以将它们重定向到常规页面。

有关示例或要点,请参阅以下内容:

How i can make crossbrowser native-app urls with http url fallback on website?

How to launch apps (facebook/twitter/etc) from mobile browser but fall back to hyperlink if the app isn't installed

https://webmasters.stackexchange.com/questions/47161/app-uri-scheme-fallback-urls

答案 1 :(得分:0)

您可以使用bootstrap Responsive-utilities类来实现此目的:

http://getbootstrap.com/css/#responsive-utilities

<a class="visible-xs" href="fb://profile/6815841748">Facebook</a>
<a class="visible-xs"  href="instagram://user?username=barackobama">Instagram</a>
<a class="visible-xs" href="twitter://813286">Twitter</a>

网络

<a class="hidden-xs" href="https://www.facebook.com/6815841748">Facebook</a>
<a class="hidden-xs" href="https://www.instagram.com/barackobama">Instagram</a>
<a class="hidden-xs" href="https://www.twitter.com/813286">Twitter</a>

答案 2 :(得分:-1)

可以用css

完成

移动

<a class="mobile" href="fb://profile/6815841748">Facebook</a>
<a class="mobile" href="instagram://user?username=barackobama">Instagram</a>
<a class="mobile" href="twitter://813286">Twitter</a>

网络

<a class="web" href="https://www.facebook.com/6815841748">Facebook</a>
<a class="web" href="https://www.instagram.com/barackobama">Instagram</a>
<a class="web" href="https://www.twitter.com/813286">Twitter</a>

<强> CSS

.mobile{
  display:none;
}

@media only screen and (max-width: 1024px) {
  .mobile{
    display:block;
  }
  .web{
    display:none;
  }
}

确保在网页上放置了两组超链接。