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>


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!");
    }
}

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'); }

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();
}

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>

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.