我在很多年前(我想是在8到10年前)找到了下面的JavaScript代码,但我记不清在哪里和什么时候了。我用它来制作弹出窗口,为我的法国学生提供Jeopardy复习游戏的答案。我略有涉猎,但除了关于编码的绝对基础知识之外,我所知不多(例如,我确实知道如何更改代码中的背景色和窗口大小)。我想有弹出窗口居中的页面,而不是打开在左上角的窗口。
我见过一些回应其他问题的代码片段(例如Center a popup window on screen?),它们看起来应该会实现这一点,但当我尝试将它们添加到现有代码的不同位置时,总是会导致反馈窗口不再打开。我对编码的了解还不够多,不知道我需要什么代码,或者把它放在哪里。我尝试拉出VAR行并将它们添加到现有代码中,但正如我所说的,它完全禁用了弹出窗口。
有人能告诉我,是否可以修改这段代码,使弹出窗口居中显示在页面中间,或者我是否应该尝试找到不同的代码来实现这一点?
谢谢你的帮助。香农
下面是我的代码:
function feedback(message) {
var browser = navigator.appName;
var browserVersion = navigator.appVersion;
if ((browser.indexOf ("Netscape") >= 0) || (browser.indexOf ("Explorer") >= 0)) {
// This function opens a new window with the message text.
// The window will disappear when it loses focus.
msgWindow=window.open('','msgWindow','toolbar=no,location=no,directories=no, status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=210,height=180');
msgWindow.document.open();
msgWindow.focus();
msgWindow.document.write("<HEAD><TITLE>message</TITLE>");
msgWindow.document.write("</HEAD>");
msgWindow.document.write
("<BODY BGCOLOR='#FAE080' onblur='window.close()'>");
msgWindow.document.write
("<P><CENTER><FONT SIZE=+1><B>" + message + "</FONT></B></P></CENTER>");
msgWindow.document.write("</BODY>");
msgWindow.document.close();
} else { // Not Netscape or Internet Explorer
alert(message);
}
} // end of JavaScript Function feedback发布于 2018-02-20 14:14:53
它在代码片段中不起作用,但您可以查看此fiddle Check this
function myFunction() {
var pageURL="http://google.com";
var w = 500;
var h = 500;
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
window.open("https://www.google.com",'','width=' + w +', height='+h +',top='+top+',left='+left);
}<button onclick="myFunction()">Click Here</button>
修改后的代码将类似于下面的Check updated Fiddle
function feedback(message) {
var browser = navigator.appName;
var browserVersion = navigator.appVersion;
if ((browser.indexOf ("Netscape") >= 0) || (browser.indexOf ("Explorer") >= 0)) {
// This function opens a new window with the message text.
// The window will disappear when it loses focus.
var w = 210;
var h = 190;
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
var msgWindow=window.open("",'','width=' + w +', height='+h +',top='+top+',left='+left);
msgWindow.document.open();
msgWindow.focus();
msgWindow.document.write("<HEAD><TITLE>message</TITLE>");
msgWindow.document.write("</HEAD>");
msgWindow.document.write("<BODY BGCOLOR='#FAE080' onblur='window.close()'>");
msgWindow.document.write("<P><CENTER><FONT SIZE=+1><B>" + message + "</FONT></B></P></CENTER>");
msgWindow.document.write("</BODY>");
msgWindow.document.close();
} else { // Not Netscape or Internet Explorer
alert(message);
}
} // end of JavaScript Function feedbackhttps://stackoverflow.com/questions/48878374
复制相似问题