Comment ajouter target = "_ blank" à JavaScript window.location?


119

Ce qui suit définit la cible sur _blank:

if (key == "smk") {
    window.location = "http://www.smkproduction.eu5.org";
    target = "_blank";
    done = 1;
}

Mais cela ne semble pas fonctionner. Comment lancer le lien dans un nouvel onglet?

Voici mon code:

function ToKey() {
  var done = 0;
  var key = document.tokey.key.value;
  key = key.toLowerCase();
  if (key == "smk") {
    window.location = "http://www.smkproduction.eu5.org";
    target = "_blank"
    done = 1;
  }
  if (done == 0) {
    alert("Kodi nuk është valid!");
  }
}
<form name="tokey">
  <table>
    <tr>
      <td>Type the key</td>
      <td>
        <input type="text" name="key">
      </td>
      <td>
      </td>
      <td>
        <input type="button" value="Go" onClick="ToKey()">
      </td>
  </table>
</form>


Vous souhaitez donc ouvrir une URL dans une nouvelle fenêtre?
Musa

Yepp?! seulement si la clé est bonne ...
Flamur Beqiraj

où le HEADferme?
Lucas

Réponses:


268

window.locationdéfinit l'URL de votre fenêtre actuelle. Pour ouvrir une nouvelle fenêtre, vous devez utiliser window.open. Cela devrait fonctionner:

function ToKey(){
    var key = document.tokey.key.value.toLowerCase();
    if (key == "smk") {
        window.open('http://www.smkproduction.eu5.org', '_blank');
    } else {
        alert("Kodi nuk është valid!");
    }
}

8
@twinlakes cela est bloqué dans tous les navigateurs modernes.
Ben Racicot

@BenRacicot eh bien oui, les popups sont bloqués par défaut et la plupart des gens ne changent pas cela
twinlakes

le problème avec window.open est le bloqueur de pop
jmoran

76

Utilisez simplement dans votre if (key=="smk")

if (key=="smk") { window.open('http://www.smkproduction.eu5.org','_blank'); }

6

J'ai créé une fonction qui me permet d'obtenir cette fonctionnalité:

function redirect_blank(url) {
  var a = document.createElement('a');
  a.target="_blank";
  a.href=url;
  a.click();
}

0

    var linkGo = function(item) {
      $(item).on('click', function() {
        var _$this = $(this);
        var _urlBlank = _$this.attr("data-link");
        var _urlTemp = _$this.attr("data-url");
        if (_urlBlank === "_blank") {
          window.open(_urlTemp, '_blank');
        } else {
          // cross-origin
          location.href = _urlTemp;
        }
      });
    };

    linkGo(".button__main[data-link]");
.button{cursor:pointer;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<span class="button button__main" data-link="" data-url="https://stackoverflow.com/">go stackoverflow</span>

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.