Wie füge ich target = "_ blank" zu JavaScript window.location hinzu?

118

Folgendes setzt das Ziel auf _blank:

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

Das scheint aber nicht zu funktionieren. Wie starte ich den Link in einem neuen Tab?

Hier ist mein 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>

Flamur Beqiraj
quelle
Sie möchten also eine URL in einem neuen Fenster öffnen?
Musa
Yepp?! nur wenn der Schlüssel stimmt ...
Flamur Beqiraj
wo HEADschließt das?
Lucas

Antworten:

266

window.locationLegt die URL Ihres aktuellen Fensters fest. Um ein neues Fenster zu öffnen, müssen Sie verwenden window.open. Das sollte funktionieren:

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!");
    }
}
Twinlakes
quelle
8
@twinlakes Dies wird in allen modernen Browsern blockiert.
Ben Racicot
@ BenRacicot gut ja, Popups sind standardmäßig blockiert und die meisten Leute ändern das nicht
Twinlakes
Das Problem mit window.open ist der blockierte Blocker
jmoran
76

Verwenden Sie einfach in Ihrem if (key=="smk")

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

Ich habe eine Funktion erstellt, mit der ich diese Funktion erhalten kann:

function redirect_blank(url) {
  var a = document.createElement('a');
  a.target="_blank";
  a.href=url;
  a.click();
}
mcems7
quelle
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>

山 茶树 和 葡萄 树
quelle