我想在网页上有一个具有以下行为的按钮:
- 第一次点击时,打开一个弹出窗口。
- 在稍后的点击中,如果弹出窗口仍处于打开状态,则将其移至最前面。如果没有,请重新打开。
以下代码适用于 Firefox(Mac 和 Windows)、Safari(Mac 和 Windows)和 IE8。 (我还没有测试过 IE6 或 IE7。)但是,在谷歌浏览器(Mac 和 Windows)中,稍后的点击无法按需要将现有的弹出窗口置于最前面。
我怎样才能在 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>
背景:我正在重新询问 this question专门针对谷歌浏览器,因为我认为我的代码至少解决了其他现代浏览器和 IE8 的问题。如果有这样做的首选礼仪,请告诉我。
最佳答案
你不能。出于安全原因,Window.focus 在 Chrome 中被禁用,而且不太可能改变。
您必须关闭并重新打开相应的窗口。
关于javascript - 在 Google Chrome 中,如何使用父窗口中的 javascript 将现有的弹出窗口置于最前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2703314/