2011-09-26 52 views
70

Tôi đang chuyển hướng người dùng đến một số url qua window.location nhưng url này mở trong cùng một tab trong trình duyệt. Tôi muốn nó được mở trong tab mới. Tôi có thể làm như vậy với window.location không? Có cách nào khác để thực hiện hành động này không?javascript window.location trong tab mới

+2

Trùng lặp: http://stackoverflow.com/questions/427479/programmatically-open-new-pages-on-tabs – Samich

+0

Yêu cầu 'window.location' là gì? Hoặc các giải pháp JS khác có thể được cung cấp không? – Khez

+0

@Khez: JS khác có thể được cung cấp. –

Trả lời

13

Tôi không nghĩ rằng có cách để làm điều này, trừ khi bạn đang viết một phần mở rộng trình duyệt. Bạn có thể thử sử dụng window.open và hy vọng rằng người dùng đã đặt trình duyệt của họ để mở cửa sổ mới trong các tab mới.

+1

Tôi không chắc chắn nếu điều này hoạt động trong Safari:/ –

+8

Câu trả lời lỗi thời, hãy xem câu trả lời của người dùng1450789 bên dưới. – Paul

248
window.open('https://support.wwf.org.uk', '_blank'); 

Tham số thứ hai là thứ giúp mở cửa sổ mới. Đừng quên đọc Jakob Nielsen's informative article :)

+4

Điều này sẽ được đánh dấu là câu trả lời đúng !! –

+1

Tôi đồng ý! Đánh dấu nó là câu trả lời đúng! –

+1

Bạn đúng là bro! – 0bj3ct

4

này làm việc cho tôi trên Chrome 53. Đã không kiểm tra bất cứ nơi nào khác:

function navigate(href, newTab) { 
    var a = document.createElement('a'); 
    a.href = href; 
    if (newTab) { 
     a.setAttribute('target', '_blank'); 
    } 
    a.click(); 
} 
1

với jQuery của nó thậm chí còn dễ dàng hơn và hoạt động trên Chrome cũng

$('#your-button').on('click', function(){ 
     $('<a href="https://www.some-page.com" target="blank"></a>')[0].click();  
}) 
Các vấn đề liên quan