Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

The background

Ok, this is a toughie. I'm a Firefox user, and I don't like Flash ads. They slow down my netbook, they slow down my Macbook, they sometimes play sound or obscure part of the page, all of which means as soon as I see a Flash ad I associate that advertiser with burning rage more than with good products.

The problem

That said, I don't see how the Web can exist without advertisement. I'm also not convinced that ABP's "acceptable advertising" functionality will actually encourage sites to change their advertising to serve static ads. For every technorati with an adblocker, there's someone who likes shooting animated, cartoon ducks in a sidebar ad. So rather than trying to politically force the advertisers to change their practices, I'd like to find a client-side way to opt out of just Flash ads—without opting out of static ads or even animated GIFs (even a nice, smooth animated GIF is better than jerky, resource-consuming Flash).

Possible solutions

Turns out that if I disable Flash in about:addons, pretty much all advertisers actually detect the absence of Flash and serve me a static ad instead. This is fantastic: I can browse the Internet in peace and still support the sites I visit with ad views. It actually makes me more likely to read the ad and feel positively about it. Problem is, I haven't found a way to disable Flash by default and enable it for whitelisted sites (or at least, not on OS X and Arch Linux. Embarrassingly, IE actually has a built-in way to whitelist plugins).

There are plenty of addons and userscripts that, rather than disabling Flash outright, simply replace Flash content with nifty logos or "click to play" buttons. But that's not what I want, and to be honest, scattering the same logo everywhere there's flash content (i.e. everywhere) is kind of ugly. And a button on the toolbar to toggle Flash quickly isn't quite right either, because there's no whitelist. I'd like to be able to browse Wired with static ads, then open Youtube without having to click that button first (and then inevitably forget about it as soon as I browse somewhere else).

Anyone got a solution? Or ideas about userscript ways to make this happen? I can't be the only person who finds those little replacement icons even more jarring than the Flash ads themselves.

Update

Ok, I looked into this for a few hours and WOW does this look harder than I thought. Imma go ahead and move this to stackoverflow.

Update 2

See comments.

share|improve this question
2  
Uninstall the Flash Player, install Google Chrome, and when you absolutely need Flash, view the page in Chrome. daringfireball.net/2010/11/… –  William Jackson Feb 2 '12 at 20:19
    
Write that as a solution and I'll go ahead and pick it! I can disable Flash in Firefox's about:addons, then just use Safari when I want Flash. I already do that for Silverlight with Netflix. After thinking and playing with this a while, I don't think it's possible to do with Javascript, and I don't know if an extension can even be written to selectively enable and disable plugins. I think the best thing would be for Firefox to add permissions lists to plugins like IE does. That would be perfect, but alas :) –  Matthew Phipps Feb 2 '12 at 22:34
    
Now there is an answer! –  William Jackson Feb 3 '12 at 19:07

4 Answers 4

up vote 5 down vote accepted

Uninstall the Flash Player, and install Google Chrome (it includes the Flash Player plugin built-in). Browse normally with Firefox, and when you absolutely need Flash, switch to Chrome.

John Gruber explains this setup. You can even define a keyboard shortcut to open the current page in Chrome.

To make this process automated (and use Internet Explorer instead), you can use the Firefox add-on IE Tab 2. It can display a Firefox tab using Internet Explorer automatically, based on filters that you specify.

share|improve this answer

Flashblock is what I use. Works quietly, allows whitelist.

share|improve this answer
1  
Not bad, I looked at this one as well. But it still doesn't really disable Flash, since detection scripts don't pick up that Flash isn't getting displayed. Thanks though! –  Matthew Phipps Feb 2 '12 at 22:43

NoScript, a Firefox addon; it lets you disable scripts, Flash and other plugins and has a whitelist.

share|improve this answer
    
I was OK with NoScript for a while, but eventually it just got to be too much of a pain, so I left it on with the "dangerous" option. Unfortunately, I don't see a way to allow everything but Flash, while still having a Flash whitelist. So I think we're back to square one. –  Matthew Phipps Feb 1 '12 at 11:07
    
To allow everything but Flash in NoScript, go to Options -> Embeddings and have just "Forbid Flash" checked. This will block Flash only and allow all other plugins and scripts. Then in the whitelist add the sites you want Flash enabled. Another option is FlashBlock: addons.mozilla.org/en-US/firefox/addon/flashblock, but I've never used it. –  lupincho Feb 1 '12 at 13:20
    
? I don't see a way to globally allow Javascript but globally forbid Flash except for a whitelist. And I'm not convinced NoScript would do what I want: to act like Flash is completely disabled on that page. –  Matthew Phipps Feb 2 '12 at 20:09
    
The procedure that I described above -- go to Embeddings and uncheck everything except for "Forbid Flash" will allow Javascript globally and forbid Flash globally (initially, before you change that in the next step). After you add sites to the whitelist (Options -> Whitelist), Flash will be allowed for these sites. The end result would be that Javascript will be allowed globally, Javascript will be enabled for the sites in the whitelist and Javascript will be disabled for all other sites (that aren't in the whitelist). –  lupincho Feb 2 '12 at 20:24
    
Ah, I see what you're talking about. That sorta worked, but it's not quite right, since Flash is still enabled: Flash detection Javascript will report Flash as enabled, then it serves the .swf and NoScript blocks it. Where I'd like to find a way to block Flash selectively without breaking those detection scripts. I thought I could use Javascript to work with the detection Javascript, but they're not so easily fooled :) –  Matthew Phipps Feb 2 '12 at 22:42

This is EXACTLY what I'm looking for. I want the flash plugin to appear to be disabled to certain websites, and enabled to certain other websites.

The closest I have come so far is to use the FlashDisable add-on which adds a simple toggle button to the Firefox UI that I manually use to turn the flash plugin on and off (at least it comes with an automatically reload function which is nice). So I cruise with Flash off until I come across a site that absolutely needs it, and I hit the toggle button. Then I need to remember to turn it back off when I'm done.

There are several benefits to be had if this enable/disable plugin action could be made automatic based on a whitelist that enables/disables the flash plugin based on webiste visited:

  1. I want my videos served in HTML5 as long as that is possible, but I would still like a flash fall-back if HTML5 is not supported on a particular site. Unfortunately, pretty much all websites have a Flash-first, HTML5-fallback attitude. I want it the other way around. Therefore I want to selectively pretend to such sites that I don't have flash at all, so they auto-serve me the HTML5.

  2. I realized that video loading with Flash on some websites stalls indefinitely, if certain privacy add-ons like Ad Block Edge or Disconnect are detected. The HTML5 on the other hand seems to get served regardless. Therefore forcing HTML5 on such sites also allows me to get rid of ads.

The in-built Click-To-Enable function in Firefox does NOT do what I am looking for, because it still reports to the website that Flash is enabled, but then waits on a local command to serve the Flash element. This still means I get served Flash on the website I wish would give me the HTML5-fallback instead.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.