จะเพิ่ม target =“ _ blank” ใน JavaScript window.location ได้อย่างไร?


119

ต่อไปนี้ตั้งเป้าหมายเป็น_blank:

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

แต่ดูเหมือนจะไม่ได้ผล ฉันจะเปิดลิงก์ในแท็บใหม่ได้อย่างไร

นี่คือรหัสของฉัน:

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>


คุณต้องการเปิด url ในหน้าต่างใหม่หรือไม่?
มูซา

Yepp ?! เฉพาะในกรณีที่กุญแจถูกต้อง ...
Flamur Beqiraj

ที่HEADปิด?
Lucas

คำตอบ:


268

window.locationตั้งค่า URL ของหน้าต่างปัจจุบันของคุณ window.openเพื่อเปิดหน้าต่างใหม่คุณจำเป็นต้องใช้ สิ่งนี้ควรใช้งานได้:

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 สิ่งนี้ถูกบล็อกในเบราว์เซอร์สมัยใหม่ทั้งหมด
Ben Racicot

@BenRacicot ใช่ป๊อปอัปจะถูกบล็อกโดยค่าเริ่มต้นและคนส่วนใหญ่ไม่เปลี่ยนสิ่งนั้น
twinlakes

ปัญหาเกี่ยวกับ window.open คือตัวบล็อกป๊อปบล็อก
jmoran


6

ฉันได้สร้างฟังก์ชันที่ช่วยให้ฉันได้รับคุณสมบัตินี้:

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>

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.