我想打开一个使用JavaScript的文档文档以及打开的文档窗口打开对话框。如何使用JavaScript打印对话框打开文件
这是我的代码。
window.open('http://www.tizaq.com');
window.print();
它可以工作,但打印对话框会在当前窗口打开,而不是新打开的窗口打开。我该怎么做?
我想打开一个使用JavaScript的文档文档以及打开的文档窗口打开对话框。如何使用JavaScript打印对话框打开文件
这是我的代码。
window.open('http://www.tizaq.com');
window.print();
它可以工作,但打印对话框会在当前窗口打开,而不是新打开的窗口打开。我该怎么做?
呼叫print
新窗口,而不是老于:
var wnd = window.open('http://stackoverflow.com');
wnd.print();
我不喜欢你的胜算,不过,它不触犯下降浏览器的安全性。 :-)“外部”窗口对象可能不支持print
(window
)对象有两种类型,其他窗口可以访问的“外部”类型以及引用自身的“内部”类型,它具有更多权限等)至少,你可能不得不等待加载事件,但我最好总体来说这将是棘手的。
它seems to work对于具有相同来源的文档,所以Same Origin Policy是一个因素。这个例子在IE6中崩溃(字面意义上使浏览器崩溃),但在Windows上的IE7和Linux上的Chrome和Firefox 3.6(而不是Linux上的Opera 11)中适用于我。大概不会伤害到把延迟/产量在那里,例如:
var wnd = window.open(your_path_here);
setTimeout(function() {
wnd.print();
}, 0);
你说“Word文档”,在你的问题,但你的例子看起来像一个网站。我不知道这是否会工作,如果你打开一个Microsoft Word文档加载到浏览器窗口。
好,更好的办法
var my_window = window.open("", "mywindow1", "status=1,width=350,height=150");
my_window.document.write("<scr" + "ipt>window.location.href='http://stackoverflow.com';window.print();</scr" + "ipt>");
尝试像这样或更好地使使用iframe的另一页打印
虽然'Window.Print();'会失败(它是'window.print()',JavaScript区分大小写),这不是一个坏主意。但你真的做到了吗?当我尝试它时,打印结果是空白的。我想知道它是否适用于Word文档。 – 2011-04-15 10:04:51
我想同样的事情,但它不是在任何浏览器为我工作。 (更正:它适用于Windows中的FF4;不适用于Chrome 10和IE8) – 2011-04-15 09:00:30
@Pekka:是的,我认为浏览器的安全性很可能会出现在我面前。我用过的每个平台都会打开一个对话框,我可以取消,所以这不是那种罪恶。 :-) – 2011-04-15 09:03:09
我试过了。但不能在Firefox中工作。 – Coder 2011-04-15 09:07:18