我想打开一个带有window.open
的弹出窗口,然后更改窗口的整个内容。
在IE和Chrome中,以下功能正常,但在 firefox 中不。
var Window= window.open("blanko.htm", "Win", "width=" + _iWidth + ",height=" + _iHeight + ",resizable=yes,left=" + iLeft + ",top=" + iTop + ",toolbar=1");
var Header = "<head><link rel='Stylesheet' href='CSS.css' type='text/css' /><style type='text/css'>td,th{font-size:11px;font-family:Arial;}body{font-family:Arial;font-size:12px;}</style></head>";
var Body = "<body><div>new Content</div></body>";
首先尝试:
$(Window.document).ready(function () {
$(Window.document.head).append(Header);
$(Window.document.body).append(Body);
});
第二次尝试:
$(Window.document).ready(function () {
$(Window.document).html(Header + Body);
});
等。
我尝试的所有内容都适用于IE和Chrome,但在Firefox中,内容正在加载,一秒后它将替换为window.open
参数(blanko.htm)中给出的网站。
答案 0 :(得分:2)
使用纯Javascript这是一个非常简单的解决方案:
var mynewWindow = window.open("", "Win", "width=" + _iWidth + ",height=" + _iHeight + ",resizable=yes,left=" + iLeft + ",top=" + iTop + ",toolbar=1");
mynewWindow.document.write(
'<html>' +
'<head>' +
'<title>' + myTitle + '</title>' +
'<link rel="Stylesheet" href="CSS.css" type="text/css" />' +
//print on screen style
'<style media="screen"> your CSS here </style>'+
//Optional: print on printer style
'<style media="print"> your CSS here </style>'+
'</head>' +
'<body> <div>new Content</div> </body>' +
'</html>'
);
希望有所帮助
(这适用于所有主要的互联网浏览器)