Adblock Plus and (a little) more

Adblock Plus for Safari Beta released · 2014-01-21 15:56 by Sebastian Noack

Install Adblock Plus for Safari

I spent the past months porting Adblock Plus to Safari. And by now, we’ve got something that is stable enough to release as a beta. Adblock Plus for Safari uses mostly the same codebase as Adblock Plus for Chrome/Opera. So it has the same features and every improvement we do in the future for either browser extension will automatically land in the extension for the other browsers.

To achieve this I implemented an abstraction layer with a backend for Chrome/Opera and a backend for Safari. This way most of the code is browser-agnostic and only the abstraction layer needs to know the APIs provided by the respective browser. That was actually quite a challenge, since Safari has a very limited API.

Adblock Plus for Safari is compatible with following versions of Safari:

  • Safari 5 (works, but will break functionality on some websites due to a WebKit bug, usually affects image magnifiers)
  • Safari 6
  • Safari 7 (works, but has still some issues, see below)

However it is still a beta, so here is what doesn’t work, yet:

  • Popups aren’t blocked.
  • The number of ads blocked for the current page will sometimes not be reset when navigating to a new page (Safari 7 only).
  • Icon popup contents will sometimes not update when loading a page into a new tab (Safari 7 only).

Beside that Safari’s extension API is more limited than those of other browsers and therefore:

  • Requests initiated by third-party plugins like Flash can’t be blocked. This mostly affects in-video ads (like prerolls), however not those on YouTube, which are blocked in a different way.
  • XMLHttpRequests can’t be blocked.

If you find other issues please report them on the forum (registration is not necessary) or consider contributing.

Tags:

Comment [10]

  1. Kenny · 2014-01-25 18:52 · #

    Awesome! Thanks for the hard work you guys have been doing. Quick question, will this beta version update in the background with safari?

    Reply from Wladimir Palant:

    Yes, it will update automatically.

  2. James · 2014-01-26 12:05 · #

    Thanks for working on this guys.

    Unfortunately youtube ads aren’t blocked. There don’t even appear to be less of them. Such a shame as that is the entire reason I’m so keen on getting ABP for Safari :(

    Hopefully this can be fixed or I may have to concede and switch to a different browser.

    Reply from Sebastian Noack:

    YouTube video ads should be blocked for the first video. However, when you click on another video, in the sidebar or within the flash player, we can’t block ads for that video.

    If what you have experienced is even less efficient than that, please report a bug on the forum. Please include the steps to reproduce and the version of Safari you are using, into the bug report.

    However, until Apple provides better extension APIs, blocking ads within Flash will always be less efficient on Safari than with other browsers, like Chrome and Firefox.

    Update: Good news! I finally found a way to block ads in subsequent videos on YouTube. Those ads will be blocked starting with Adblock Plus for Safari 1.7.3.1112. However, you might still see ads in flash videos on other websites.

  3. James · 2014-01-27 12:39 · #

    Thanks for the reply. I click on the sidebar or recommended videos a lot so that probably is the case.

    Forgive my lack of knowledge in this area, but I have heard of plugins or extensions that force youtube to use html and not the flash player. If blocking ads in flash is the problem in safari, would it work if youtube played on an html5 player instead?

    Just a thought… I’m probably wrong.

    Reply from Sebastian Noack:

    Yes, you shouldn’t see any ads with the HTML5 player. But unfortunately not all videos on YouTube are available for the HTML5 player, yet.

  4. James · 2014-01-27 13:00 · #

    Oh that’s pretty cool though! It’s a temporary workaround at least. I’ve found an extension that let’s me use html5 for most videos. Haven’t encountered one that doesn’t work yet, but I might do.

    Hopefully the html5 support on youtube will only get better with time.

  5. Sam · 2014-02-03 21:37 · #

    Have you thought about asking the people at webkit.org about improving the APIs? Obviously, a lot probably gets changed between nightlies and full releases of Safari, and it’s entirely possible that Apple will simply never allow Safari to block Flash ads effectively, but I think it’s worth looking into.

    (And please forgive me if this really doesn’t seem possible – I am in no way a programmer, so I don’t really know. ;) )

    Reply from Wladimir Palant:

    Part of the problem is that these APIs aren’t part of WebKit, they are Safari-specific and as such not open source.

  6. Sam · 2014-02-07 03:34 · #

    Ah, I was afraid of that. Thanks for the reply though!

    I wish I didn’t like Safari so much, but for me, no other browser comes close to the aesthetics and simplicity. Oh well. Thanks for doing what you can.

  7. durgesh · 2014-02-18 13:10 · #

    i want say thank u verry much

  8. Techartisan · 2014-02-19 20:02 · #

    Will ABP function well on Safari 5.1.7 running on Win 8?

    Reply from Sebastian Noack:

    Adblock Plus works with Safari 5.1 for Windows. But the way requests are blocked on Safari, breaks functionality on some websites due to a WebKit bug, which was fixed in Safari 6.

    Also I strongly recommend not to use an outdated web browser like Safari 5.1, which isn’t supported anymore by Apple, and suffers from bugs, incompatibility with modern websites, and security issues. You might want to use Firefox or Google Chrome instead, which are great web browsers for Windows.

  9. Judith Loftus · 2014-02-26 22:18 · #

    Just tried install beta, but did not work. Is this because I’m using an iPad?

  10. Marko · 2014-02-27 11:49 · #

    @Judith:

    Yes, this is because you’re using an iPad. AdBlock Plus for Safari is for OS X (the operating system of MacBooks and Mac Pro), not iOS (the operating system of iPads and iPhones).

Commenting is closed for this article.