使用 JavaScript 重定向到新的 windows,点击 <a></a>

Redirect to a new windows, with JavaScript, with a onclick on <a></a>

我正在编写此代码以将其插入我的网站,以检测来自设备的 OS,并根据它们拥有的 OS,重定向到不同的页面。另外,如果我将代码上传到我的网站,href 不能很好地工作,它搜索 https://example.com/thehref 而不是单独的 href。

这就是我一直在做的,来解决这个问题。

<script>

  var OSName = "Unknown OS";
    if (navigator.userAgent.indexOf("Win") != -1) OSName = 1;
    if (navigator.userAgent.indexOf("Mac") != -1) OSName = 0;
    if (navigator.userAgent.indexOf("Linux") != -1) OSName = 1;
    if (navigator.userAgent.indexOf("Android") != -1) OSName = 1;
    if (navigator.userAgent.indexOf("like Mac") != -1) OSName = 0;

    if (OSName == 1) OSName = "play.google.com";
    if (OSName == 0) OSName = "apps.apple.com";


</script>

<a href="https://www.google.com" onclick="location.href=this.href+OSName;return false;"> <p>Click<br> at me!!!</p> </a>

我的想法是,每次有人点击它时,它都会将他们重定向到另一个页面,我一直在搜索,似乎 onclik 和 target="_blank" 不能很好地协同工作。

如果有人知道如何解决问题,或者有想法,欢迎评论。

谢谢大家。 :)

请试试这个。

<script>
  var OSName = "Unknown OS";

  if (navigator.userAgent.indexOf("Win") != -1) OSName = 1;
  if (navigator.userAgent.indexOf("Mac") != -1) OSName = 0;
  if (navigator.userAgent.indexOf("Linux") != -1) OSName = 1;
  if (navigator.userAgent.indexOf("Android") != -1) OSName = 1;
  if (navigator.userAgent.indexOf("like Mac") != -1) OSName = 0;

  if (OSName == 1) OSName = "page1";
  if (OSName == 0) OSName = "page2";

  function openPage() {
    window.open(window.location.href + '/' + OSName);
    return false;
  }
</script>

<a href="https://" onclick="openPage()"> <p>Click<br> at me!!!</p> </a>

您可以创建另一个 <a> 标签并在 JS 中调用 click()

    var OSName = "Unknown OS";
    if (navigator.userAgent.indexOf("Win") != -1) OSName = 1;
    if (navigator.userAgent.indexOf("Mac") != -1) OSName = 0;
    if (navigator.userAgent.indexOf("Linux") != -1) OSName = 1;
    if (navigator.userAgent.indexOf("Android") != -1) OSName = 1;
    if (navigator.userAgent.indexOf("like Mac") != -1) OSName = 0;
  
    if (OSName == 1) OSName = "play.google.com/store/apps/details?id=com.gecose.appseguros360.irgmediassegur";
    if (OSName == 0) OSName = "apps.apple.com/es/app/irg-mediassegur/id1509456102";
  
    function onClick() {
        let a = document.createElement('a')
        a.setAttribute('href', 'https://'+OSName)
        a.setAttribute('target', '_blank')
        a.click()
    }
</script>
<a onclick="onClick()" > <p>Click<br> at me!!!</p> </a>