X
Nhấn vào đây để đến phiên bản di động của trang web.

Diễn đàn trợ giúp

Print each frame is gone sice FF 69. How can I get it back?

Được đăng

In the print dialog box the option 'print each frame' is gone. As someone asked, you can do a right click and print a selected frame. But that's a whole different thing. I want to print all frames on the page at once. I use a PC , if that makes a difference

So how can I get it back? Or do I need to switch browser?

In the print dialog box the option 'print each frame' is gone. As someone asked, you can do a right click and print a selected frame. But that's a whole different thing. I want to print all frames on the page at once. I use a PC , if that makes a difference So how can I get it back? Or do I need to switch browser?
Trích dẫn

Chi tiết hệ thống bổ sung

Ứng dụng

  • Chuỗi đại diện người dùng: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0

Thông tin chi tiết

jscher2000
  • Top 10 Contributor
8792 giải pháp 71897 câu trả lời
Được đăng

Hi info437, sorry about this change. They are overhauling the print code and felt this was obsolete. One of the arguments was "...Chrome, Safari, IE, Edge which haven't had frameset specific UI for many years."

Maybe there is some other way to do it without having to discover the frames by right-clicking.

Is there a particular example page online (account/login not required) that would serve as a good example for testing?

Hi info437, sorry about this change. They are overhauling the print code and felt this was obsolete. One of the arguments was "...Chrome, Safari, IE, Edge which haven't had frameset specific UI for many years." Maybe there is some other way to do it without having to discover the frames by right-clicking. Is there a particular example page online (account/login not required) that would serve as a good example for testing?
Bài viết này có hữu ích với bạn không?
Trích dẫn

Người tạo câu hỏi

Thanks for your reply!

I noticed that Chrome, Edge and Opera doesn't support this either. It seems like IE support it thou. The argument you mention its quite poor, but perhaps that is only my opinion.

I use it to do a batch print of multiply invoices. But I guess you could use https://www.tutorialspoint.com/cg/assets/VG5bWe.php as a test page.

If you want to check if something can be change in the settings or config in FF and need a little less cluttered example page, I will be happy to upload one for you.

Thanks for your reply! I noticed that Chrome, Edge and Opera doesn't support this either. It seems like IE support it thou. The argument you mention its quite poor, but perhaps that is only my opinion. I use it to do a batch print of multiply invoices. But I guess you could use https://www.tutorialspoint.com/cg/assets/VG5bWe.php as a test page. If you want to check if something can be change in the settings or config in FF and need a little less cluttered example page, I will be happy to upload one for you.
Bài viết này có hữu ích với bạn không?
Trích dẫn
jscher2000
  • Top 10 Contributor
8792 giải pháp 71897 câu trả lời
Được đăng

Câu trả lời hữu ích

That is a hideous page but it let me work out an idea for a workaround. That would involve:

(1) Temporarily set Firefox to "silent" printing so you aren't required to confirm each print with a click in the Print dialog.

(2) Run a "print all frames" script that marches through the top level frames in the window and prints each one in turn.

And now, the somewhat messy details.

For #1:

You'll create a new preference in about:config set to true; you can set it to false when you want to return to regular printing.

(0) Select and copy the new preference name:

print.always_print_silent

(1) In a new tab, type about:config in the address bar and press Enter/Return. Click the button accepting the risk.

(2) In the search box above the list, type or paste silent to give yourself an uncluttered view.

(3) Right-click in the blank space and click New, then Boolean.

  • In the little dialog that comes up, paste the preference name and click OK.
  • Click true and then click OK. (If you do not get the options of true and false, you might not have selected Boolean, so cancel and start again.)

Now the preference should appear. To switch between true and false in the future, double-click the preference.

For #2:

Please skim through the following discussion, then see the next reply for a faster way to run this script.

The following script could be executed in the Web Console. The first time you paste a script into the Web Console, Firefox will ask you to take a step to confirm you understand it's potentially dangerous to run scripts from strangers:

var f=-1;
function printNext(){
  f+=1; // compute new frame index
  if(f<window.frames.length){
    // create afterprint event listener in this frame
    window.frames[f].addEventListener('afterprint', function(){window.parent.setTimeout(printNext, 500)});
    // print the frame
    window.frames[f].print();
  }
}
printNext();

When I execute that, for some reason, I get the following dialog between prints and I have to click Cancel each time:

I don't know if there is a way to turn that off, or a way to modify the script to avoid it.

Note: This script is unlikely to work with cross-domain frames, and it might halt when it hits one. Hopefully that isn't relevant to your invoice scenario (framed documents on the same server as the top level frameset document).

That is a hideous page but it let me work out an idea for a workaround. That would involve: (1) Temporarily set Firefox to "silent" printing so you aren't required to confirm each print with a click in the Print dialog. (2) Run a "print all frames" script that marches through the top level frames in the window and prints each one in turn. ''And now, the somewhat messy details.'' '''For #1:''' You'll create a new preference in about:config set to true; you can set it to false when you want to return to regular printing. (0) Select and copy the new preference name: print.always_print_silent (1) In a new tab, type '''about:config''' in the address bar and press Enter/Return. Click the button accepting the risk. (2) In the search box above the list, type or paste '''silent''' to give yourself an uncluttered view. (3) Right-click in the blank space and click New, then Boolean. * In the little dialog that comes up, paste the preference name and click OK. * Click true and then click OK. ''(If you do not get the options of true and false, you might not have selected Boolean, so cancel and start again.)'' Now the preference should appear. To switch between true and false in the future, double-click the preference. '''For #2:''' '''''Please skim through the following discussion, then see the next reply for a faster way to run this script.''''' The following script could be executed in the Web Console. The first time you paste a script into the Web Console, Firefox will ask you to take a step to confirm you understand it's potentially dangerous to run scripts from strangers: <pre>var f=-1; function printNext(){ f+=1; // compute new frame index if(f&lt;window.frames.length){ // create afterprint event listener in this frame window.frames[f].addEventListener('afterprint', function(){window.parent.setTimeout(printNext, 500)}); // print the frame window.frames[f].print(); } } printNext(); </pre> When I execute that, for some reason, I get the following dialog between prints and I have to click Cancel each time: <img src="https://user-media-prod-cdn.itsre-sumo.mozilla.net/uploads/images/2019-09-10-17-04-42-ac5e33.png"> I don't know if there is a way to turn that off, or a way to modify the script to avoid it. Note: This script is unlikely to work with cross-domain frames, and it might halt when it hits one. Hopefully that isn't relevant to your invoice scenario (framed documents on the same server as the top level frameset document).

Được chỉnh sửa bởi jscher2000 vào

Bài viết này có hữu ích với bạn không? 1
Trích dẫn
jscher2000
  • Top 10 Contributor
8792 giải pháp 71897 câu trả lời
Được đăng

Câu trả lời hữu ích

I posted a bookmarklet version of the script for easier use -- you add it to a convenient spot on your bookmarks toolbar or menu and click the bookmark to run the script.

https://www.jeffersonscher.com/res/sumomarklets.html#printframes

(I used this test page: https://www.jeffersonscher.com/res/frames3.html)

I posted a bookmarklet version of the script for easier use -- you add it to a convenient spot on your bookmarks toolbar or menu and click the bookmark to run the script. https://www.jeffersonscher.com/res/sumomarklets.html#printframes (I used this test page: [https://www.jeffersonscher.com/res/frames3.html])

Được chỉnh sửa bởi jscher2000 vào

Bài viết này có hữu ích với bạn không? 1
Trích dẫn

Người tạo câu hỏi

Thank you so much for your help. Its greatly appreciated.

Since I'm not the only user I need it to be a bit more user friendly. The popup dialog box was a bit confusing for some users.

So I did a rollback to FF ESR. And I will re-code that part of site so it doesn't use frames, so I can go back to the regular FF.

Thank you so much for your help. Its greatly appreciated. Since I'm not the only user I need it to be a bit more user friendly. The popup dialog box was a bit confusing for some users. So I did a rollback to FF ESR. And I will re-code that part of site so it doesn't use frames, so I can go back to the regular FF.
Bài viết này có hữu ích với bạn không?
Trích dẫn
jscher2000
  • Top 10 Contributor
8792 giải pháp 71897 câu trả lời
Được đăng

I think the dialog comes from the script performing certain actions repeatedly without any user action in between. I'm glad to hear you have options!!

I think the dialog comes from the script performing certain actions repeatedly without any user action in between. I'm glad to hear you have options!!
Bài viết này có hữu ích với bạn không?
Trích dẫn
zerenx 0 giải pháp 3 câu trả lời
Được đăng

Hi,

I'm having a similar annoyance as the OP

The current Windows-native print dialog has some problem to my workflow. My ancient internet banking website still uses framesets, so to print stuff from the site I need to print only one specific frame, not the whole site with the menus and such.

The current Windows-native print dialog defaults to print the whole page. The older Firefox-custom print dialog defaults to only print the single active frame.

My current workaround is by shift-rightclicking the frame (bank blocks the regular rightclick), select This Frame, and then Print. While it is certainly do-able, it is mildly annoying, so if possible I would love to get the old print dialog back.

Is there an option in about:config or some such that can enable this? I digged around but found nothing so far.

Hi, I'm having a similar annoyance as the OP The current Windows-native print dialog has some problem to my workflow. My ancient internet banking website still uses framesets, so to print stuff from the site I need to print only one specific frame, not the whole site with the menus and such. The current Windows-native print dialog defaults to print the whole page. The older Firefox-custom print dialog defaults to only print the single active frame. My current workaround is by shift-rightclicking the frame (bank blocks the regular rightclick), select This Frame, and then Print. While it is certainly do-able, it is mildly annoying, so if possible I would love to get the old print dialog back. Is there an option in about:config or some such that can enable this? I digged around but found nothing so far.

Được chỉnh sửa bởi zerenx vào

Bài viết này có hữu ích với bạn không?
Trích dẫn
jscher2000
  • Top 10 Contributor
8792 giải pháp 71897 câu trả lời
Được đăng

zerenx said

Is there an option in about:config or some such that can enable this? I digged around but found nothing so far.

No. It's gone.

Would it be more convenient to always get Firefox's context menu when you right click?

(1) In a new tab, type or paste about:config in the address bar and press Enter/Return. Click the button promising to be careful or accepting the risk.

(2) In the search box above the list, type or paste contex and pause while the list is filtered

(3) Double-click the dom.event.contextmenu.enabled preference to switch the value from true to false

If you need to peel Firefox's menu off the front of the site's custom context menu, tap and release the Alt key.

''zerenx [[#answer-1254543|said]]'' <blockquote> Is there an option in about:config or some such that can enable this? I digged around but found nothing so far. </blockquote> No. It's gone. Would it be more convenient to always get Firefox's context menu when you right click? (1) In a new tab, type or paste '''about:config''' in the address bar and press Enter/Return. Click the button promising to be careful or accepting the risk. (2) In the search box above the list, type or paste '''contex''' and pause while the list is filtered (3) Double-click the '''dom.event.contextmenu.enabled''' preference to switch the value from true to false If you need to peel Firefox's menu off the front of the site's custom context menu, tap and release the Alt key.
Bài viết này có hữu ích với bạn không? 1
Trích dẫn
zerenx 0 giải pháp 3 câu trả lời
Được đăng

Thank you very much for your helpful reply, jscher.

It's sad to hear that the old print dialog is really gone. But since it's not exactly mission-critical, I guess I'll live with it.

The dom.event.contextmenu.enabled property is nice to know, but unfortunately that would break other sites' right click function.

I'd probably get around to write a greasemonkey script or some such to make it easier for me with this specific banking site.

Once again, I appreciate that you took the time to reply to the question. That was a quality reply. Thank you very much.

Thank you very much for your helpful reply, jscher. It's sad to hear that the old print dialog is really gone. But since it's not exactly mission-critical, I guess I'll live with it. The '''dom.event.contextmenu.enabled''' property is nice to know, but unfortunately that would break other sites' right click function. I'd probably get around to write a greasemonkey script or some such to make it easier for me with this specific banking site. Once again, I appreciate that you took the time to reply to the question. That was a quality reply. Thank you very much.
Bài viết này có hữu ích với bạn không?
Trích dẫn
Đặt một câu hỏi

Bạn phải đăng nhập vào tài khoản của bạn để trả lời bài viết. Vui lòng bắt đầu một câu hỏi mới, nếu bạn chưa có tài khoản.