Safari JavaScript loading

Discussion in 'OS X Mountain Lion (10.8)' started by nelly22, Nov 27, 2012.

  1. nelly22 macrumors 6502

    Sep 29, 2009
    In Safari when JavaScripts is turned from off to on, it loads js in all tabs in all windows.

    Is there any extension/plugin/... which loads js only in current tab or only in new tabs?
  2. GGJstudios macrumors Westmere


    May 16, 2008
    You didn't mention what version of Safari you're using, but in Safari 5, if you have JavaScript disabled when you visit a page, then enable JavaScript, it does not load any JavaScript until you refresh the page or go to a new page. That behavior may or may not have changed with Safari 6. I use JavaScript Blocker to manage JavaScript on sites I visit.
  3. wrldwzrd89 macrumors G5


    Jun 6, 2003
    Solon, OH
    A quick Google search doesn't find anything particularly informative.

    However, creating a Safari extension to achieve this end should not be that hard.

    This little bit of JavaScript will fetch the particular tab that is active (note that this only works in the context of a Safari Extension):
    Combining that with a block content startup script, like this 2-part one:
    function isItOkay() {
        var myMessageData = event.url;
        var theAnswer =, myMessageData);
        if (theAnswer == "block") {
    document.addEventListener("beforeload", isItOkay, true);
    function blockOrAllow(event) {
        if ( === "canLoad") {
            var itsAnAd = event.message.match(/;
            if (itsAnAd) {
                event.message = "block";
            else {
                event.message = "allow";
    safari.application.addEventListener("message", blockOrAllow, true);
    ...and modifying the code accordingly to intercept and stop JS in inactive tabs from running. If you're not a coder like me, I wouldn't be surprised if you don't understand anything I posted. That's okay, though - I do, and I'd be willing to help address a need that I am sure others besides you are looking for.

Share This Page