為了改善您的使用體驗,本網站正在進行維護,部分功能暫時無法使用。若本站的文件無法解決您的問題,想要向社群發問的話,請到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 發問,我們的社群成員將很快會回覆您的疑問。

搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

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

  • 9 回覆
  • 2 有這個問題
  • 1 次檢視
  • 最近回覆由 zerenx

more options

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?

所有回覆 (9)

more options

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?

more options

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.

more options

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).

由 jscher2000 - Support Volunteer 於 修改

more options

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)

由 jscher2000 - Support Volunteer 於 修改

more options

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.

more 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!!

more 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 於 修改

more options

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.

more options

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.