繁体   English   中英

为什么警报未在新窗口中显示

[英]Why is the alert not displayed in a new window

我正在创建一个带有一些变量的新窗口,如下所示:

var setScript = "<script>alert('test');<//script>";
var w = window.open();
var createBody = $(w.document.body);
var createHead = $(w.document.head);
createBody.html("");
createBody.html(p);
createHead.html(setStyle);
createHead.append(setScript);

我在新窗口中没有看到警报。

我该如何解决该问题。

F12

在此处输入图片说明

这是您应该做的:

<script>
  (function(){
     var body=document.getElementsByTagName('body')[0],
         head=document.getElementsByTagName('head')[0],
         script=document.createElement('script');

     //Do stuff with body

     script.onload = function() {
      alert("foo");
     };

     head.appendChild(script);
   })();
</script>

这样的东西? http://jsfiddle.net/swm53ran/222/

在新窗口上使用document.write

<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
    var myWindow = window.open();
    myWindow.document.write("<script>alert('test');<\/script>");
}
</script>

您检查错误控制台了吗?

Firebug给我这个:

SyntaxError: expected expression, got '<'


alert('test');<//script>

就像@ j08691的注释一样,您应该将第一行代码更改为:

var setScript = "<script>alert('test');<\/script>";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM