如何根据使用的设备更改href

时间:2019-04-16 15:32:44

标签: javascript html

我正在尝试根据用户使用的设备来进行其他下载。如果用户使用PC,则示例具有X下载链接。如果用户使用的是iPhone,iPod或iPad,请使用Y链接。我不是要使用设备像素宽度,而是要使用某种东西来检测用户代理。 (注意:我只为iOS用户创建其他链接)

我尝试了以下操作,但是当我点击下载时,它使用的是我的网站名称,然后是/ url,例如:examplewebsite.com/url

var a_element;

function changeHref() {
  a_element = document.querySelector(".download");
  if ((navigator.platform.match(/i(Phone|Pod))/i)) || (navigator.userAgent.match(/iPad/i))) {
    a_element.href = "mobile download";
  } else {
    a_element.href = "pc download";
  }
}
changeHref();
<a href="url" onclick="function" ; class="btn btn-primary js-scroll-trigger download">Download</a>

1 个答案:

答案 0 :(得分:0)

const getHref = () => {
  const element = document.getElementById("myLink");
  const IS_IPAD = navigator.userAgent.match(/iPad/i) != null;
  const IS_IPHONE = (navigator.userAgent.match(/iPhone/i) != null) || (navigator.userAgent.match(/iPod/i) != null);
  
  if (IS_IPAD || IS_IPHONE) {
    element.href = "iphone/ipad/url"; // when the device is an iphone/ipad
  } else {
    element.href = "whatever/url"; // default
  };
};

getHref();
<a id="myLink" >My Link</a>