document.write 新 open.document

document.write within a new open.document

我想知道是否可以将新的 window.open(它将是子 window)嵌套到父 window 的 document.write 中myWin.window.open?

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>

你的想法很好。使用 javascript 生成弹出窗口 window 并使用 link 生成另一个弹出窗口 window 并没有本质上的问题。

问题是一个小的语法错误:您没有在编写 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 将不会分配新的 window。