【问题标题】:Dealing with tel: anchor处理电话:锚
【发布时间】:2011-09-09 23:17:57
【问题描述】:

我有一个电话号码的锚。在手机上很棒。在带有 Skype 或 Google Voice 的桌面上,这很好。问题出在不知道如何处理的台式机上。

我该怎么办?检测它是否不是移动设备并更改链接?我仍然希望显示链接,只是 URL 不同。

有没有更好的方法?如果没有,如何在 JavaScript 中检测移动设备以更改 href 属性?

谢谢。

【问题讨论】:

    标签: javascript mobile desktop detect tel


    【解决方案1】:

    检测浏览器是否在 JavaScript 中从移动设备启动:http://detectmobilebrowser.com/

    然后您可以使用正则表达式在 JavaScript 中检测电话号码,例如其中之一:http://www.regxlib.com/DisplayPatterns.aspx?cattabindex=6&categoryId=7

    最后重写链接:aLink.href="..."

    网络浏览器负责为某个链接启动相关应用程序,我猜 Skype 正在注册桌面中的电话号码。恐怕你不能在网页上做任何事情。

    【讨论】:

    • 嗨,这不是我要问的。如果浏览器不是移动的,我想添加href="somepage.html"。或者反过来,如果浏览器是移动的,添加href="tel:00000"
    • 根据您的评论澄清更新了答案
    【解决方案2】:

    我发现解决这个问题的方法是使用两个单独的链接,虽然我使用的是 Foundation 4 框架,所以不确定这是否适用于其他响应式框架。

    我将要使用“tel”锚的链接指定为 .hide-for-large 类,并将指向联系页面的链接指定为 .hide-for-small 类。这有效地隐藏和隐藏了相应的链接,具体取决于检测到的视口宽度。

    我确信在 Bootstrap 之类的东西中会有一个类似的类。当然,如果你不是;t

    【讨论】:

    • 不错的方法,但对于调整大小的窗口或 Windows 8 快照视图(现在想到的)会失败。
    • 这是一个公平的观点,尤其是 Windows 8 快照视图 - 没有考虑到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多