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):
Code:
safari.application.activeBrowserWindow.activeTab
Combining that with a block content startup script, like this 2-part one:
Code:
function isItOkay() {
var myMessageData = event.url;
var theAnswer = safari.self.tab.canLoad(event, myMessageData);
if (theAnswer == "block") {
event.preventDefault();
}
}
document.addEventListener("beforeload", isItOkay, true);
function blockOrAllow(event) {
if (event.name === "canLoad") {
var itsAnAd = event.message.match(/ads.example.com/i);
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.