Firefox (any recent ver) will not print or Prt-preview certain web pages.
There was a past question on the same problem that was never resolved but the question was closed out. I have the same problem. Here is the original post:
"When trying to print out pages Firefox first prints a lot of empty pages, and then only a part of the content. Example:
https://online.medunigraz.at/mug_online/wbTvw_List.lehrveranstaltung?pStpSpNr=182778
When entering "print prview" you can see empty pages. When printing this page with Internet Explorer all is fine."
I accessed that page and I have exactly the problem.
All Replies (11)
Hello,
Try Firefox Safe Mode to see if the problem goes away. Safe Mode is a troubleshooting mode, which disables most add-ons.
(If you're not using it, switch to the Default theme.)
- You can open Firefox 4.0+ in Safe Mode by holding the Shift key when you open the Firefox desktop or Start menu shortcut.
- Or open the Help menu and click on the Restart with Add-ons Disabled... menu item while Firefox is running.
Once you get the pop-up, just select "'Start in Safe Mode"
If the issue is not present in Firefox Safe Mode, your problem is probably caused by an extension, and you need to figure out which one. Please follow the Troubleshoot extensions, themes and hardware acceleration issues to solve common Firefox problems article for that.
To exit the Firefox Safe Mode, just close Firefox and wait a few seconds before opening Firefox for normal use again.
When you figure out what's causing your issues, please let us know. It might help other users who have the same problem.
Thank you.
Print problems tend to look similar, but there are many different layout situations that Firefox mishandles when it tries to render the page for print. This makes a general solution difficult, and it's worth filing bugs in Bugzilla when new problems are discovered. How soon they will be fixed is a sore point: for some reason, print bugs have never had a high priority compared with screen display bugs.
On that site, the main table is embedded in a set of nested boxes with different color backgrounds. So far, not so strange. However, the author instructed Firefox to display the background boxes as though they are a table cell in a table row in a table, and I think this is causing the problem because the content inside the fictitious table cell is huge.
Here are two hacks demonstrating this theory, you can try either one.
(1) Override the table-like styling and use standard block styling
Select and copy the following script:
var mySty = document.createElement("style"); mySty.setAttribute("type", "text/css"); mySty.appendChild(document.createTextNode(".MaskBackground, .MaskContent, .MaskData {display:block !important;}")); document.body.appendChild(mySty);
On the problem page, press Ctrl+Shift+k to open Firefox's web console.
Paste the script next to the caret (">") and press Enter to run it.
Try Print Preview to see the page.
(2) Move the main table out of the boxes
Select and copy the following script:
var myForm = document.getElementById("maskLvTerminList"); myForm.appendChild(myForm.getElementsByTagName("table")[0]);
On the problem page, press Ctrl+Shift+k to open Firefox's web console.
Paste the script next to the caret (">") and press Enter to run it.
Try Print Preview to see the page.
If there are particular sites you need to print that do not print, do you want to post a URL or two?
In response to the request for problem url's:
http://shopping.usairways.com/Flights/Schedules.aspx
When I enter a request which gives a short result, preView works reasonably well, though there's extra white space after the date.
When I enter a request which has a longer list (several pages), preView shows three pages with just headers and footers, then about the bottom third of the list.
Hi NebularNovice, the USAir page has two rules that improve the screen display which Firefox does not lay out correctly for printing. You can inject a style change into the page so that it will print normally.
To test that using the Web Console, you can do this:
(1) Select and copy the following script:
var r='@media print{div.pagewrapper{display:block !important;} div.fleft{float:none !important;}}'; var s=document.createElement('style'); s.type='text/css'; s.appendChild(document.createTextNode(r)); document.body.appendChild(s);
@media print{div.pagewrapper{display:block !important;} div.fleft{float:none !important;}}
(2) When viewing your flight list page, open Firefox's Web Console using (WIN) Ctrl+Shift+k or (MAC) Command+Alt+k
(3) Paste the script next to the caret (">") and press Enter to run it. No changes will be visible because the new rule only applies to printing.
(4) Close the Web Console and try Print Preview.
This rule should persist in the page if you do new searches from the bar at the top, but if you navigate away from the page, it will not be present when you return and will need to be re-injected.
Now... that obviously is not convenient. With a small modification, the script could be saved to your Bookmarks Toolbar as a "bookmarklet" that you click to run the script on the page. Or to apply this change to the site automatically when you load the page, you could create/edit the userContent.css file (someone will need to write the part that applies it just to USAir) or use an extension like Stylish (specific to styling sites) or an extension like Greasemonkey (runs scripts to modify sites). Unless you are doing a LOT of printing from this site, that might not be worth the effort.
One other workaround to consider: the Print Pages to PDF extension does an excellent job capturing the visible appearance of web pages (with live links), so if you are planning to save or share your search results, it may well be the ideal tool to use for this site. If you open different searches in different tabs, then you can use the extension to compile them all into a single PDF. Highly recommended. https://addons.mozilla.org/en-US/firefox/addon/print-pages-to-pdf/
Ilungisiwe
Thanks for the reply. The Print Pages to PDF works well and will probably suffice for me. However the
@media print{div.pagewrapper{display:block !important;} div.fleft{float:none !important;}}
shows [17:33:23.683] SyntaxError: illegal character when I try it.
I'll look at the possibility of more permanent modification since I periodically do a lot of printing from that site.
Hi NebularNovice, apologies for the script error. I gave the style rule, but not the script used to insert it. I have corrected the above post.
Next, to set that rule up in Stylish, start by installing the Stylish extension from: https://addons.mozilla.org/en-US/firefox/addon/stylish/
After restarting, open the flight search page.
Stylish will add an "S" icon either to the main Navigation Toolbar or to the Add-on bar. If you do not normally display the Add-ons bar, you can turn it on and off by pressing Ctrl+/ or right-click a blank area of the tab bar (or the new tab "+" button).
(1) Select and copy the rule:
@media print{ div.pagewrapper{display:block !important;} div.fleft{float:none !important;} }
(2) Click the Stylish "S" icon > Write new style > For shopping.usairways.com.
(3) Paste the rule in the lower area, below this line (see attached screen shot)
@-moz-document domain("shopping.usairways.com") {
(4) Click the Preview button to apply the rule, and try the page in Print Preview. Success?
(5) Before saving the rule, type a name in the top box (for example: Fix Printing USAir Flight Schedule)
That's it. Unless there's a problem in Step 4.
Ilungisiwe
Thanks for the corrected script. It works fine.
However, the Stylish fix didn't take. I pasted the rule after:
@-moz-document domain("shopping.usairways.com") {
which put it before the single line containing: }
I then clicked Preview and tried Alt-F, V. I still got the mostly blank print preview so I didn't do step 5.
Hi NebularNovice, I don't know why the rule doesn't work for you. Can you confirm that you got the opening and closing curly braces balanced?
@namespace url(http://www.w3.org/1999/xhtml); @-moz-document domain("shopping.usairways.com") { @media print{ div.pagewrapper{display:block !important;} div.fleft{float:none !important;} } }
Thanks for following up. It works now, and I've saved it. As far as I can tell, my problem was I copied the rule from the email notifying me of your reply and sent out by notifications@sumo.zlb.phx.mozilla.net
I see now that the rule copy in that email is incomplete, but I'm guessing that I got fooled by it and copied it instead of the rule on the webpage here.
In any case, I have the problem fixed by making sure to copy from this webpage and saved for that website.
Hi NebularNovice, that makes sense. It's also a good idea to check the reply on the site just in case the author of the reply made a significant typo (happens surprisingly often) so you can get the latest thinking.