![Firefox logo](https://assets-prod.sumo.prod.webservices.mozgcp.net/media/uploads/products/2020-04-14-08-36-13-8dda6f.png)
Print each frame is gone sice FF 69. How can I get it back?
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?
Всички отговори (9)
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?
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.
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).
Променено на
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)
Променено на
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.
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!!
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.
Променено на
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.
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.