Javascript Windows.print显示打印对话框,但在fire fox中打印空白页
我使用的是经典asp,在一个页面上我使用window.print方法打印页面。我使用的脚本显示“打印”对话框,在IE中可以很好地打印,但是使用FF它只打印一个空白页 如果我使用control+p在fire fox中打印页面,那么页面打印时不会出现问题,因此不会出现渲染问题 以下是我正在使用的脚本:Javascript Windows.print显示打印对话框,但在fire fox中打印空白页,javascript,firefox,Javascript,Firefox,我使用的是经典asp,在一个页面上我使用window.print方法打印页面。我使用的脚本显示“打印”对话框,在IE中可以很好地打印,但是使用FF它只打印一个空白页 如果我使用control+p在fire fox中打印页面,那么页面打印时不会出现问题,因此不会出现渲染问题 以下是我正在使用的脚本: function printform(url) { var windowReference = window.open(url, "Header", 'width=600,height=60
function printform(url) {
var windowReference = window.open(url, "Header", 'width=600,height=600,toolbar=no,resizable=yes,scrollbars=yes,menubar=no');
if (window.print)
windowReference.print()
}
提前谢谢
这是多亏了普鲁士我才想到的解决办法
函数printformurl{
var windowReference = window.open(url, "Header", 'width=600,height=600,toolbar=no,resizable=yes,scrollbars=yes,menubar=no');
if (window.print)
if (navigator.appName == "Netscape") {
windowReference.onload = function(){ windowReference.print(); }
}
else {
windowReference.print()
}
}它停止工作,因为IE已经加载了文档,并且已经触发了onload事件。您可以检查文档是否已加载,只需调用print,如果未加载,则调用事件处理程序
function printform(url) {
var windowReference = window.open(url, "Header", 'width=600,height=600,toolbar=no,resizable=yes,scrollbars=yes,menubar=no');
//if (window.print)
// windowReference.print();
if (windowReference.print){
var done = false;
if (windowReference.document && windowReference.document.readyState){
var rs = windowReference.document.readyState;
if ((rs === 'complete') || (rs === 'loaded')){
done = true;
windowReference.print();
}
}
if (!done){
if (windowReference.addEventListener){
windowReference.addEventListener('load', function(){ this.print(); });
} else{
windowReference.onload = function(){ this.print(); };
}
}
}
}
它停止工作,因为IE已经加载了文档,并且已经触发了onload事件。您可以检查文档是否已加载,只需调用print,如果未加载,则调用事件处理程序
function printform(url) {
var windowReference = window.open(url, "Header", 'width=600,height=600,toolbar=no,resizable=yes,scrollbars=yes,menubar=no');
//if (window.print)
// windowReference.print();
if (windowReference.print){
var done = false;
if (windowReference.document && windowReference.document.readyState){
var rs = windowReference.document.readyState;
if ((rs === 'complete') || (rs === 'loaded')){
done = true;
windowReference.print();
}
}
if (!done){
if (windowReference.addEventListener){
windowReference.addEventListener('load', function(){ this.print(); });
} else{
windowReference.onload = function(){ this.print(); };
}
}
}
}
我猜是在您调用windowReference.print时,页面尚未加载。请尝试windowReference.onload=函数{windowReference.print;};。这对Fire fox有效,但现在在IE中甚至没有出现对话框…我猜是在您调用windowReference.print时,页面尚未加载。请尝试windowReference.onload=函数{windowReference.print;};。这对Fire fox有效,但现在在IE中甚至没有出现对话框…我决定只测试用户是否使用Fire fox浏览器,下面是我使用的代码:“函数printformurl”{var windowReference=window.openurl,标题,'width=600,height=600,toolbar=no,resizeable=yes,scrollbars=yes,menubar=no';if window.print if navigator.appName==Netscape{windowReference.onload=function{windowReference.print;}else{windowReference.print}'我决定只测试用户是否使用fire fox浏览器,下面是我使用的代码:'function printformurl{var windowReference=window.openurl,Header',width=600,height=600,toolbar=no,resizeable=yes,scrollbars=yes,menubar=no';if window.print if navigator.appName==Netscape{windowReference.onload=function{windowReference.print;}else{windowReference.print}'