使用jquery从主窗口打开的中心弹出窗口
Center popup windows opened from main window using jquery?
在Web应用程序中,我在不同的点打开了很多弹出窗口。这些是使用 window.open() 而不是 Jquery 弹出窗口打开的普通弹出窗口。它们在浏览器窗口的不同位置打开,并且具有不同的高度和宽度。
现在,我想在浏览器上打开时将所有弹出窗口居中。我编写了一个函数,它将返回我顶部和左侧值,以便对传递的高度和宽度进行居中。现在,我需要在每次使用 window.open 打开弹出窗口之前调用此函数一次,获取顶部和左侧值,然后将它们传递给 window.open。我最终可能会在各种 JavaScript 文件中的许多地方执行此操作。
有没有一种通用的方法可以满足我的要求,只需对使用 window.open 打开的所有弹出窗口的居中进行少量更改。Jquery可以帮助我轻松做到这一点吗?
我认为这与你目前拥有的相似,但你可能想看看。似乎不太需要使用jQuery链接
function PopupCenter(pageURL, title,w,h) {
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
}
只需将您的代码从
var params = getCenteredCoords();
window.open(url, "...", params+"...");
自
myPopup(url, "...", "...");
并声明全局
function myPopup(url, name, params) {
var coords = getCenteredCoords();
return window.open(ul, name, coords+params);
}
是的,您将需要在每个文件中的自定义解决方案。所以唯一的方法就是不要重复自己并使用一个全局函数。
好的,有一种方法可以不更改所有文件中的所有内容:使用自定义解决方案覆盖window.open
:
window.open = (function(original){
return function myPopup(url, name, params) {
var coords = getCenteredCoords();
return original(ul, name, coords+params);
};
})(window.open);
相关文章:
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 基于窗口宽度jquery的函数的替代方法是什么
- Jquery Onclick将数据发送到新打开的窗口
- jQuery调整大小函数只适用于窗口
- 是否可以使用Jquery操作窗体的目标窗口
- 使用jQuery可以根据窗口大小更改滑块的css高度
- 弹出窗口-jQuery Mobile、Backbone.js和Require.js
- 如何将文本框弹出窗口(Jquery 工具提示或类似工具)添加到画布中的 Fabric JS 图像
- 如何在点击弹出窗口jQuery内应用悬停效果
- 如何关闭模型弹出窗口jquery
- 从新打开的窗口jquery中删除一个节点
- 可拖动的非模态弹出窗口Jquery Mobile
- 在弹出窗口Jquery(灯箱)中打开照片
- 将Modal定位到当前窗口-jQuery
- 什么是窗口?jQuery和窗口.美元的意思
- 在新的窗口jquery功能不工作
- 警告中心元素窗口(jQuery)
- 条形码扫描器触发下一个按钮点击事件和弹出窗口JQuery
- 如何从另一个弹出窗口中的链接调用弹出窗口.Jquery Mobile
- 如何重用剑道ui窗口jquery