搜尋 Mozilla 技術支援網站

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

了解更多

Printing from one website only

more options

When I try to print from one website only (www.si.com), I get a phantom page at the top overlaying part of the web page I want to print. It is there on every printed page of that website only. It does not happen on chrome, nor on any other website with Firefox. See attached example. I am running Windows 7 64 bit professional and FIrefox 84.0.2

When I try to print from one website only (www.si.com), I get a phantom page at the top overlaying part of the web page I want to print. It is there on every printed page of that website only. It does not happen on chrome, nor on any other website with Firefox. See attached example. I am running Windows 7 64 bit professional and FIrefox 84.0.2
附加的畫面擷圖

被選擇的解決方法

Hi Jim, here's my suggestion:

(1) Install the Stylus extension

https://addons.mozilla.org/firefox/addon/styl-us/

(2) Set up a new rule to hide the box

Click the "S" button on the toolbar, then click the Manage button. This will open the main Stylus interface.

In the left bar, click the "Write new style" button to open the editor. Enter a name like SI Fix or whatever appeals to you.

Click in the large editing area on the right and paste this:

@-moz-document domain("si.com") {
/* Hide the Notification Request Box */
div.pushly_popover {
  display: none !important;
}
}
 

(make sure to include both of those } in what you paste)

Stylus should display an overlay asking whether you want to Overwrite or Append. Choose Overwrite. Then you can save the rule. It should look like the first screenshot. You're done with this tab, you can close it now.

Whenever you visit a page on si.com, Stylus should inject that change to hide the box. Job done.

從原來的回覆中察看解決方案 👍 1

所有回覆 (8)

more options

That's a little bit odd. You only see that overlay when printing, not in the normal view of the page? If you can find it in the normal view, then you could click Dismiss and probably get it off the printouts, too. But otherwise, hmm.

What if you block Notifications from the site using the Page Info dialog. While you are on on of their pages, you can call that up using either:

  • Ctrl+i (for Mac, Command+i)
  • right-click a blank area of the page > View Page Info
  • (menu bar) Tools > Page Info

When the dialog comes up, click the Permission icon at the top to show that panel.

Scroll down to "Send Notifications" and uncheck the "Use default" box, and then select Block and see whether the site stops asking about this.

There's no Save button, just close the dialog and then reload the page. Any difference?

more options

jscher -

Thanks for the fast recommend. I tried it and no change. The thing is still there. And yes, only when printing, not viewing the page. Could it be somehow in the cookies?

Jim

more options

By the way, it does show in print preview.

more options

Hi Jim, I have so much blocking on my Firefox, it's difficult to get a clean test. I used a different profile and definitely see the issue there.

When I block notification permission for the site in Firefox, the box still is injected into the page and appears in printouts, but when I block notification permission in Chrome, the box is not added to the page. So there seems to be some difference in how the "Pushly" script runs on Chrome vs. Firefox.

By all rights, the box should be at the end of the page because the site does not set the top position to 0. If I turn on print emulation in Firefox's Page Inspector tool, I don't see the box (first screenshot), but if I also set the top position of the overlay to 0, then it looks like what Firefox prints (second screenshot). So there must be some code in Firefox that detects wayward fixed position elements and gives them that position by default. Might be a plus on some sites, but definitely not on this one.

I can give you a method or two to hack around this if you need to print from this site often. One would be a script you run from a bookmark (a "bookmarklet"). The other would be a style rule you inject using either Stylus (the easier way) or a userContent.css file (the harder way, unless you have one already). Let me know if you want to try either of those.

A third option would be to use an extension that lets you identify elements to hide or remove (I think uBlock Origin has this feature). You probably need to clear cookies for the site to get the original popover visible again, and then you could point the extension at it.

Or of course, you can go into the Page Inspector yourself (Ctrl+Shift+i), find the popover, right-click it, and use Delete Node to flush it. That only lasts until you reload the page, so there's no lasting damage from playing around with this.

more options

jscher -

Thank you muchly for all the effort you have put into this. It's getting a bit complicated.

I am looking for some permanent fix. If that is not possible, I'm just going to switch to Chrome (sigh, not my favorite). Are any of your suggestions something permanent, or would I have to do something every time I print from the site (which is at least once daily, and sometimes more). I don't like to do extensive reading sitting in front of the monitor.

Again, I appreciate all your effort and am impressed that you were able to recreate the problem without more information. Your type of support is one of the reasons I prefer Firefox. (In addition, I started out with Netscape under Unix with X11 back in 1995 when they announced new web pages daily.)

Thanks.

Jim

more options

選擇的解決方法

Hi Jim, here's my suggestion:

(1) Install the Stylus extension

https://addons.mozilla.org/firefox/addon/styl-us/

(2) Set up a new rule to hide the box

Click the "S" button on the toolbar, then click the Manage button. This will open the main Stylus interface.

In the left bar, click the "Write new style" button to open the editor. Enter a name like SI Fix or whatever appeals to you.

Click in the large editing area on the right and paste this:

@-moz-document domain("si.com") {
/* Hide the Notification Request Box */
div.pushly_popover {
  display: none !important;
}
}
 

(make sure to include both of those } in what you paste)

Stylus should display an overlay asking whether you want to Overwrite or Append. Choose Overwrite. Then you can save the rule. It should look like the first screenshot. You're done with this tab, you can close it now.

Whenever you visit a page on si.com, Stylus should inject that change to hide the box. Job done.

more options

That works! Thank you so much for continuing to work on the problem. You are outstanding!

more options

I hate to give up on making software bend to my will, and I appreciate your willingness to take the extra steps.