Tôi muốn có một nút trên một trang web với các hành vi sau đây:Trong Google Chrome, làm cách nào để đưa cửa sổ bật lên hiện có lên phía trước bằng javascript từ cửa sổ chính?
- Trên nhấp chuột đầu tiên, mở một cửa sổ pop-up.
- Khi nhấp chuột sau, nếu cửa sổ bật lên vẫn mở, chỉ cần đưa nó lên phía trước. Nếu không, hãy mở lại.
Mã bên dưới hoạt động trong Firefox (Mac & Windows), Safari (Mac & Windows) và IE8. (Tôi chưa thử nghiệm IE6 hoặc IE7.) Tuy nhiên, trong Google Chrome (cả Mac & Windows), các lần nhấp chuột sau đó không thể đưa cửa sổ bật lên hiện có lên phía trước như mong muốn.
Tôi làm cách nào để làm việc này trong Chrome?
<head>
<script type="text/javascript">
var popupWindow = null;
var doPopup = function() {
if (popupWindow && !popupWindow.closed) {
popupWindow.focus();
} else {
popupWindow = window.open("http://google.com", "_blank",
"width=200,height=200");
}
};
</script>
</head>
<body>
<button onclick="doPopup(); return false">
create a pop-up
</button>
</body>
Bối cảnh: Tôi lại hỏi this question đặc biệt dành cho Google Chrome, như tôi nghĩ tôi mã của tôi giải quyết vấn đề ít nhất là cho các trình duyệt hiện đại khác và IE8. Nếu có một nghi thức ưa thích để làm như vậy, xin vui lòng cho tôi biết.
Có vẻ như vấn đề này đã được báo cáo ~ 1.5 năm trước: http://code.google.com/p/chromium/issues/detail?id=1674 – brahn