2010-10-19 39 views
71

tôi sử dụng target="_blank" để mở liên kết trong tab mới ... nhưng trong IE, cửa sổ mới hoàn toàn hợp lý vì đó là những gì _blank là nghĩa vụ phải làm và tôi không biết cách hoạt động của target="_blank" trong các trình duyệt khác ... có điều gì đó buộc buộc liên kết mở trong tab mới .. nếu trình duyệt hỗ trợ tab ... khác hãy tạo cửa sổ mớiHTML: cách buộc liên kết mở trong tab mới, không phải cửa sổ mới

+6

'target =" _ blank "' sẽ mở liên kết trong tab mới trong Firefox, Chrome và Opera. Hai trình duyệt còn lại, IE và Safari sẽ mở nó trong một cửa sổ mới. –

+1

Chà, bạn thậm chí không thể sử dụng một mục tiêu được đặt tên và có IE mở các liên kết mới trong tab được đặt tên của bạn. Tức là, nếu bạn chọn mở một liên kết trong một tab mới với 'target =" myName "', các liên kết tiếp theo có cùng mục tiêu sẽ không mở trong tab của bạn nhưng sẽ mở một cửa sổ mới. Âm thanh như một lỗi khả năng sử dụng đối với tôi. Cảm ơn IE. – Matthew

Trả lời

74

Không có cách nào để làm điều đó với tư cách là tác giả của HTML mà trình duyệt hiển thị. Ít nhất là tôi chưa biết. Của nó khá nhiều lên đến trình duyệt và các thiết lập/sở thích của nó được thiết lập bởi chính người dùng.

Ngoài ra, bạn không nên áp đặt điều này cho bất kỳ người dùng nào. Trình duyệt là thuộc tính của người dùng. Nếu người dùng muốn mở tất cả các liên kết trong tab hoặc trong cửa sổ mới, thì hãy để người dùng thực hiện chính xác điều đó.

Thật tuyệt khi chúng tôi không thể làm những việc nhất định. target=_blank vẫn bị lạm dụng và quảng cáo đã được thực hiện cho đến chết.

+18

+1! Theo mặc định, hầu hết các trình duyệt mở 'target =" _blank "' trong tab mới, nhưng trong những ngày cũ, nó sẽ mở một cửa sổ mới. Ở đó, tôi nghĩ, không có cách nào để buộc các liên kết mở trong tab mới. – jolt

+6

Tùy chọn để xác định liên kết nào sẽ mở trong tab/cửa sổ mới sẽ tồn tại. Điều này thuận tiện cho các liên kết bên ngoài. Tôi tin rằng mọi người đồng ý rằng việc mở liên kết trong một tab mới là phương pháp mong muốn cho hầu hết người dùng. IE và Safari mở _blank trong các cửa sổ mới vì lý do nào đó, nhưng đó có lẽ là một hành vi cũ và không liên quan gì đến sở thích của người dùng. Tôi tin rằng hầu hết người dùng thậm chí không biết cách thiết lập hành vi này trong trình duyệt của họ. –

+4

Giải pháp đơn giản không phải là cố gắng buộc các liên kết của bạn mở trong một tab mới * hoặc * một cửa sổ mới. Nếu tôi muốn một tab mới, tôi sẽ nhấp chuột giữa, cảm ơn. – bobince

8

Không , không có.

+4

Cùn, đến điểm, câu trả lời dứt khoát =) Tôi thực sự muốn chỉnh sửa câu trả lời này chỉ với "Không" – earcam

1

Cách trình duyệt xử lý cửa sổ mới so với tab mới được đặt trong tùy chọn của trình duyệt và chỉ người dùng mới có thể thay đổi.

+1

sở thích người dùng là một điều, nhưng những gì tôi đã học được cho đến nay là bạn cần phải có PHP thiết lập phương pháp tiếp cận khác nhau cho các trình duyệt khác nhau. – Moon

+1

Thật sao? Làm thế nào bạn đã thực hiện nó với PHP? –

0

Bạn có thể thay đổi cách Safari sẽ mở ra một trang mới trong Safari> Preferences> Tab> 'Mở trang ở tab thay vì cửa sổ'> 'Tự động'

0

Bạn có thể thiết lập IE để mở các liên kết trong tab mới, chỉ cần chuyển đến menu cài đặt.

40

Kể từ khi tôi rơi vào câu hỏi cũ này và sau đó phát hiện ra rằng bây giờ có thể (có thể tùy chọn css này không có sẵn rồi), tôi chỉ muốn thêm một bản cập nhật về cách nó có thể được thực hiện:

<a href="[yourlink]" target="_blank" style="target-new: tab;">Google</a> 

Dưới đây là các tùy chọn cho phong cách mục tiêu mới:

target-new: window | tab | none 

không kiểm tra tùy chọn none, có lẽ nó sử dụng các thiết lập trình duyệt mặc định.

Tôi đã xác nhận điều này cho Firefox và IE7-9.

+1

Tôi có Safari 5.1.7. (nghĩ rằng nó là mới nhất cho Windows), và điều này không làm việc cho tôi. Có lẽ nó là dành cho Safari 6+? bất cứ ai có thể xác nhận điều này? –

+3

Vâng, nó không phải là rất tốt tài liệu, tôi đã kiểm tra trong caniuse.com nhưng không có thông tin, định nghĩa là ở đây: http://www.w3.org/TR/css3-hyperlinks/#the-target-new. w3schools nói rằng nó không được hỗ trợ bởi bất kỳ trình duyệt nào (http://www.w3schools.com/cssref/css3_pr_target-new.asp), nhưng nó hoạt động trên Firefox và IE ít nhất, vì vậy nó rất khó tìm kiếm thông tin .. – Martin

+1

http://www.w3schools.com/cssref/css3_pr_target-new.asp –

1

tôi không thử loại này nhưng tôi nghĩ rằng nó hoạt động trong tất cả các trình duyệt:

target="_parent"

+1

tab mới phụ thuộc nhiều vào cài đặt người dùng và tác nhân trình duyệt. 'Mở liên kết trong một tab mới' không nên được thực hiện một yêu cầu bất cứ nơi nào trong thiết kế của bên, học được rằng trong năm qua. – Moon

0

Trong Internet Explorer, nhấp vào Tools -> Internet Options. Nhấp vào tab Chung -> Tab -> Cài đặt. Chọn "Khi cửa sổ bật lên gặp phải" -> Luôn mở cửa sổ bật lên trong tùy chọn tab mới. Nhấp vào OK.

-1

Hãy thử với javascript chức năng như

Html này:

<a href="javascript:void(0)" onclick="open_win()">Target</a> 

Javascript:

<script> 
function open_win() 
{ 
window.open("https://www.google.co.in/"); 
} 
</script> 
+0

Cảm ơn bạn đã thực sự giúp - đặt href là 'javascript: '! –

5

Tôi hy vọng điều này sẽ giúp bạn

cửa sổ.mở (url, '_ newtab');

+1

window.open trả về một windowObjectReference có thể được tái sử dụng (cách khác tên cửa sổ arg thứ 2 có thể được tái sử dụng trong các cuộc gọi tiếp theo để tải các url khác nhau trong cùng một tab/cửa sổ). Tuy nhiên điều này không trả lời câu hỏi - window.open không cung cấp cách nào để buộc tab hoặc cửa sổ. – earcam

1
onclick="window.open(this.href,'_blank');return false;" 
1
a { 
    target-name: new; 
    target-new: tab; 
} 

Thuộc tính mục tiêu mới cho phéo liên kết điểm đến mới sẽ mở ra trong một cửa sổ mới hoặc trong một tab mới của một cửa sổ hiện tại.

Lưu ý: Thuộc tính mới nhắm mục tiêu chỉ hoạt động nếu thuộc tính tên mục tiêu tạo tab mới hoặc cửa sổ mới.

+1

Nó hoạt động cho Firefox mới nhất. –

0

Có thể!

Điều này dường như ghi đè cài đặt trình duyệt. Hi vọng nó sẽ giúp ích cho bạn.

<script type="text/javascript"> 
// Popup window code 
function newPopup(url) { 
    popupWindow = window.open(url,'popUpWindow1','height=600,width=600,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes') 
} 
</script> 

<body> 
    <a href="JavaScript:newPopup('http://stimsonstopmotion.wordpress.com');">Try me</a> 
</body> 
0

Chỉ cần sử dụng "target = _blank" sẽ tôn trọng tùy chọn người dùng/trình duyệt có sử dụng tab hoặc cửa sổ mới hay không.

Nếu bạn chỉ định kích thước của cửa sổ mới, một số trình duyệt sẽ sử dụng như một chỉ báo rằng một kích thước nhất định là cần thiết , trong trường hợp này một cửa sổ mới sẽ luôn được sử dụng. Stack overflow code exampleNgăn xếp ngăn xếp

Các vấn đề liên quan