我想知道是否有可能有一个新的window.open(它将是子窗口)嵌套在myWin.window.open
的父窗口的document.write中?
myWin.document.write("<a href='#' onclick="window.open('http://www.imdb.com/title/tt2015381/','newMovie','height=200,width=400,left=400,top=100,scrollbars,status,resizable,dependent');">Click Here to Access the Movie Window</a> <br><br>");
这是完整的代码,如果这有助于更好:
<script type="text/javascript">
var myWin = window.open("", "", "height=500,width=680,resizable=yes,top=100,left=400");
myWin.document.write('<html><head><title>Guardian Of the Galaxy<\/title>');
myWin.document.write('<style type="text\/css">');
myWin.document.write('<!-- ');
myWin.document.write('body#lab8img {background-image: url("Labs_Images/GofG.jpg");background-repeat: no-repeat;background-size: cover;} ');
myWin.document.write('p {color:#fff;font-size:20px;} ');
myWin.document.write('h1 {color:#fff;font-size:24px;} ');
myWin.document.write('a {color:#000;font-weight:bold; line-height:0.5; width:100%; text-decoration:none;} ');
myWin.document.write('a hover {color:#2B65EC;font-weight:bold; line-height:0.5; padding:15px;} ');
myWin.document.write('div#box {background: rgba(255,255,255,.5); border: 2px solid black; margin: 30px;height: 27%; width:90%;} ');
myWin.document.write('--><\/style>');
myWin.document.write('<\/head><body id="lab8img" onload="setImageSize();">');
myWin.document.write('<\/body>');
myWin.document.write('<\/html>');
myWin.document.close();
myWin.document.write("<div style='text-align:center; '><h1>What about the Movie?</h1></div> <br>");
myWin.document.write("<div style='text-align:left; padding:0px 8px 0px 8px;'><p>Guardians of the Galaxy is a 2014 American superhero film based on the Marvel Comics superhero team of the same name, produced by Marvel Studios and distributed by Walt Disney Studios Motion Pictures. It is the tenth installment in the Marvel Cinematic Universe. </p></div><br>");
myWin.document.write("<div Id='box' style='text-align:center;");
myWin.document.write("<a href='#' onclick="window.open('http://www.imdb.com/title/tt2015381/','newMovie','height=200,width=400,left=400,top=100,scrollbars,status,resizable,dependent');">Click Here to Access the Movie Window</a> <br><br>");
myWin.document.write("</div>");
</script>
答案 0 :(得分:1)
你的想法很好。使用javascript生成带有链接以生成另一个弹出窗口的弹出窗口没有任何内在问题。
问题是一个小的语法错误:您没有在编写a
标记的行上转义双引号,因此它会因为您的字符串不是您期望的那样而中断
myWin.document.write("<a href='#' onclick="window.open('...
您正在使用双引号("<a href...)
打开字符串,但之后在onclick事件(onclick="window.open(...
)中再次使用双引号,所以只需在onclick事件中转义双引号(注意反斜杠)
myWin.document.write("<a href='#' onclick=\"window.open('http://www.imdb.com/title/tt2015381/','newMovie','height=200,width=400,left=400,top=100,scrollbars,status,resizable,dependent');\">Click Here to Access the Movie Window</a> <br><br>");
当然还要注意,如果弹出窗口被阻止,代码也会中断,因为如果弹出窗口被阻止,myWin
将不会被分配新窗口。