将弹出窗口居中,无需直接访问弹出代码

时间:2015-04-21 16:31:07

标签: jquery html css

我正在使用的软件不允许我直接在每个页面上编辑html。相反,我可以向页眉和页脚添加代码,以便在页面正文中编辑文本和代码。

我希望这个弹出窗口位于页面的中心,而不是出现在顶部并且偏向一侧:

<a onclick="javascript:window.open('https://www.thelink.org/faf/login/loginParticipantPopUp.asp?ievent=1138380','loginwin','menubar=no,scrollbars=yes,resizable=yes,width=400,height=200')" href="#">click here</a>

http://jsfiddle.net/jelane20/gt1ykmxs/

能够编辑弹出窗口的属性,非常感谢任何建议。

2 个答案:

答案 0 :(得分:0)

您可以添加topleft值:

<a onclick="javascript:window.open('https://www.thelink.org/faf/login/loginParticipantPopUp.asp?ievent=1138380','loginwin','menubar=no,scrollbars=yes,resizable=yes,width=400,height=200,top=100,left=100')" href="#">click here</a>

您只需根据屏幕大小和弹出窗口的大小计算值

答案 1 :(得分:0)

请参阅此fiddle

由于您无法直接编辑标记,请使用 javascript更改onClick属性。您可能必须在onLoad()中执行此操作。但在这里,我在一个按钮的帮助下做到了这一点。单击按钮后,将调用JavaScript函数setClick(),将onClick属性更改为所需的URL。之后,您只需单击该链接,就会在屏幕中央生成一个弹出窗口。

屏幕中心使用Javascript计算。

我为获取链接所做的工作是使用document.getElementsByTagName("a")[0],它获取了第一个<a>标记。您也可以在代码中搜索<a>,并按照相同的步骤进行操作。

试试这个..

<强> HTML

<a onclick="javascript:window.open('https://www.thelink.org/faf/login/loginParticipantPopUp.asp?ievent=1138380','loginwin','menubar=no,scrollbars=yes,resizable=yes,width=400,height=200')" href="#">click here</a>

<input type="button" value="Change URL" onclick="setClick();">

<强>的JavaScript

function changeURL() {
    var left = (screen.width / 2) - (400 / 2);
    var top = (screen.height / 2) - (200 / 2);
    var url = "javascript:window.open('https://www.thelink.org/faf/login/loginParticipantPopUp.asp?ievent=1138380','loginwin','menubar=no,scrollbars=yes,resizable=yes,width=400,height=200, top=" + top + ", left=" + left + "')";
    return url;
}

function setClick() {
    document.getElementsByTagName("a")[0].setAttribute("onClick", changeURL());
}