【问题标题】:create link to open app for mobile on URL for desktops创建链接以在台式机的 URL 上打开移动应用程序
【发布时间】:2016-02-17 06:21:15
【问题描述】:

如果安装了本地社交媒体应用程序,我需要创建一个链接,如果未安装或如果用户在桌面上,我需要重定向到 URL。

我在我的链接中使用了这段代码。

<a href="fb://MY FB PAGE" onclick="setTimeout(function(){ window.location='https://www.MY FB PAGE' }, 100)"></a>

除了台式机外,它都很好用。该 URL 实际上加载得很好,但是会弹出一个错误,指出它无法打开“fb://”。这是有道理的,但就像我说的,这个错误弹出并没有阻止 URL 加载,我的 facebook 页面显示出来,只是在顶部有弹出窗口,一旦我点击“什么都不做”,它就会消失,一切都是不错。

如何使桌面上不弹出该错误窗口?

我尝试了很多不同的 javascript 函数来尝试使应用程序在移动设备中打开并在桌面中打开 URL。他们中的许多人都是从这里来的。但他们都没有为我工作。我的代码是唯一接近于做我想做的事情。

我正在寻找经过验证的代码来完成此任务或修改我上面的代码。

【问题讨论】:

  • 如何制作两个链接(移动和桌面),然后使用媒体查询根据屏幕大小隐藏其中一个?

标签: javascript hyperlink onclick deep-linking


【解决方案1】:

创建两个链接(移动和桌面),然后根据屏幕大小使用媒体查询隐藏其中一个。见例子https://jsfiddle.net/kh0prtc4/9/

html

<a class="mobile" href="fb://MY FB PAGE" onclick="setTimeout(function(){ window.location='https://www.MY FB PAGE' }, 100)">mobile</a>
<a class="desktop" href="MY FB PAGE" onclick="setTimeout(function(){ window.location='https://www.MY FB PAGE' }, 100)">desktop</a>

css

.mobile {
  display: none;
}

    @media (max-width: 600px) {
      .desktop {
        display: none;
      }
      .mobile {
        display: inline;
      }
    }

【讨论】:

  • 这不是一个坏主意。但是我的网站是响应式的,所以如果用户在桌面上的 colapae 点下方调整屏幕大小,它将调用移动媒体查询,我会遇到同样的问题。我意识到用户实际这样做的可能性很小,但它仍然可能发生,所以我宁愿弄清楚如何在没有媒体查询的情况下做到这一点。
  • 是的,但是当您上网时,您多久将浏览器最小化到手机大小以在桌面上浏览?答案实际上是,从来没有。在构建响应式网站时,您可以“假设”自己到死,或者您可以设计它以适应大多数人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2012-08-27
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多