jQuery / Firefox:打开新窗口并更改内容(头部和身体)

时间:2013-01-16 10:44:19

标签: jquery firefox popup window.open

我想打开一个带有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)中给出的网站。

1 个答案:

答案 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>'
        );

希望有所帮助

(这适用于所有主要的互联网浏览器)