我想打開一個使用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