Làm cách nào để thêm target = “_ blank” vào JavaScript window.location?


118

Điều sau đặt mục tiêu thành _blank:

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

Nhưng điều này dường như không hiệu quả. Làm cách nào để khởi chạy liên kết trong một tab mới?

Đây là mã của tôi:

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>


Vì vậy, bạn muốn mở một url trong một cửa sổ mới?
— Musa

Yepp ?! chỉ khi chìa khóa là đúng ...
— Flamur Beqiraj

nơi HEADđóng cửa?
— Lucas

Câu trả lời:


266

window.locationđặt URL của cửa sổ hiện tại của bạn. Để mở một cửa sổ mới, bạn cần sử dụng window.open. Điều này sẽ hoạt động:

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
@twinlàm cho điều này bị chặn trong tất cả các trình duyệt hiện đại.
— Ben Racicot

@BenRacicot vâng, cửa sổ bật lên bị chặn theo mặc định và hầu hết mọi người không thay đổi điều đó
— twinlakes

vấn đề với window.open là chặn pop-chặn
— jmoran

76

Chỉ cần sử dụng trong if (key=="smk")

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

6

Tôi đã tạo một chức năng cho phép tôi có được tính năng này:

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>

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.