Ich mag eine Schaltfläche auf einer Webseite mit folgendem Verhalten haben:Wie bringe ich in Google Chrome ein vorhandenes Popup-Fenster mithilfe von JavaScript aus dem übergeordneten Fenster in den Vordergrund?
- Auf dem ersten Klick, ein Pop-up öffnen.
- Bei späteren Klicks, wenn das Popup noch geöffnet ist, bringen Sie es einfach nach vorne. Wenn nicht, öffne es erneut.
Der Code unten funktioniert in Firefox (Mac & Windows), Safari (Mac & Windows) und IE8. (Ich habe IE6 oder IE7 noch nicht getestet.) In Google Chrome (beide Mac & Windows) führen spätere Klicks jedoch nicht dazu, das vorhandene Pop-up wie gewünscht an die Front zu bringen.
Wie kann ich das in Chrome machen?
<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>
Hintergrund: Ich bin this question speziell für Google Chrome erneut zu fragen, wie ich glaube, ich mein Code, um das Problem zumindest für die modernen Browser und IE8 löst. Wenn es eine bevorzugte Etikette dafür gibt, lass es mich wissen.
Sieht aus wie dieses Problem wurde vor ~ 1.5 Jahren berichtet: http://code.google.com/p/chromium/issues/detail?id=1674 – brahn