最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

printing - How to open a file with print dialogue box using JavaScript - Stack Overflow

programmeradmin3浏览0评论

I want to open one word document using JavaScript as well as open print dialogue box for that opened document window.

Here is my code.

window.open('');

window.print();

It works, but the print dialogue gets opened for the current window, not the newly opened window. How do I do it?

I want to open one word document using JavaScript as well as open print dialogue box for that opened document window.

Here is my code.

window.open('http://www.tizaq.');

window.print();

It works, but the print dialogue gets opened for the current window, not the newly opened window. How do I do it?

Share Improve this question edited Mar 7, 2014 at 17:40 tshepang 12.5k25 gold badges97 silver badges139 bronze badges asked Apr 15, 2011 at 8:54 CoderCoder 511 gold badge2 silver badges3 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 13

Call print on the new window rather than the old:

var wnd = window.open('http://stackoverflow.');
wnd.print();

I don't like your odds, though, of it not falling afoul of browser security. :-) The "external" window object may well not support print (window objects e in two types, the "external" type that other windows have access to, and the "internal" type that references itself, which has more permissions, etc.) At the least, you'll probably have to wait for the load event, but I best in general it's going to be tricky.

It seems to work for documents with the same origin, so the Same Origin Policy is a factor. That example crashes in IE6 (literally crashes the browser), but works for me in IE7 on Windows, and Chrome and Firefox 3.6 on Linux (and not in Opera 11 on Linux). Probably wouldn't hurt to put a delay / yield in there, e.g.:

var wnd = window.open(your_path_here);
setTimeout(function() {
    wnd.print();
}, 0);

You said "word document" in your question, but your example looks like a website. I have no idea whether this would work if you were opening a Microsoft Word document by loading it into a browser window.

Well, Better way

var my_window = window.open("", "mywindow1", "status=1,width=350,height=150");
my_window.document.write("<scr" + "ipt>window.location.href='http://stackoverflow.';window.print();</scr" + "ipt>");

try Like this or better to make another page using iframe for print

发布评论

评论列表(0)

  1. 暂无评论