我正在创建一个带有一些变量的新窗口,如下所示:
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
:
答案 0 :(得分:1)
这是你应该做的:
<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>
答案 1 :(得分:1)
在新窗口中使用document.write
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
var myWindow = window.open();
myWindow.document.write("<script>alert('test');<\/script>");
}
</script>
答案 2 :(得分:1)
您是否检查过错误控制台?
Firebug给我这个:
SyntaxError: expected expression, got '<'
alert('test');<//script>
和@ j08691的评论一样,你应该将你的第一行代码更改为:
var setScript = "<script>alert('test');<\/script>";