如何在具有两种可能结果的网站上建立链接,具体取决于您使用的设备类型(移动应用与本机)。
移动
<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宽度,因为我认为这不是最佳做法。如果桌面用户使用分屏或调整大小的窗口单击链接,则很容易中断。
答案 0 :(得分:3)
使用CSS媒体查询的问题是,如果用户未安装该应用,则无法执行任何操作(或者在Android情况下,它会将用户重定向到Play商店中的应用)。
因此我的建议是使用Javascript,检查userAgent字符串,并通过它设置链接。使用超时延迟或计时器检查用户在单击链接后是否仍在页面上。如果是,那意味着他们没有安装应用程序,因此您可以将它们重定向到常规页面。
有关示例或要点,请参阅以下内容:
How i can make crossbrowser native-app urls with http url fallback on website?
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;
}
}
确保在网页上放置了两组超链接。