The coding looks fine, Dave, and a test run (with Fx 3.6.25, but I'll confirm on 9.x) shows well, too. I think it's a matter of (mis)interpreting the result:
the twitter.com script is still active in the above page
I went to your link without any ABE USER rules, allowed the site's own script, allowed the script from twitter.com, and also allowed it in
RequestPolicy. See the footnote on that add-on. [1]
When the page refreshed, a NS block-logo showed where the Twitter widget would be, because I have all Embeddings page checked, including on trusted (whitelisted) sites. But it showed that yes, the Twitter script was trying to load the widget. Had I clicked OK on that placeholder, or unchecked "Apply these restrictions to whitelisted sites too" in NS Embeddings page, the Twitter widget would load.
Next: I leave the page, add your Twitter rule (copy/paste exactly as is), "refresh", "OK".
I go back to the page.
Now, there is no NS block-logo.
Instead, there is only the word "Tweet", which becomes a link on mouseover, with destination
IIUC, I believe that *that* is what you are seeing as "the script is still active". But if one tries to click the link, the beautiful result is a top bar,
Request GET http twitter dot com/share <<< (your link etc.) filtered by ABE (your rule quoted)
And in the Error Console (Tools > Web Developer on 9.x), blue Info messages:
Code: Select all
[ABE] <twitter.com *.twitter.com> Deny on {GET http://platform.twitter.com/widgets.js <<< http://www.tottenhamhotspurs.tv/forum/players-lounge/ - 2}
USER rule:
Site twitter.com *.twitter.com
Accept from twitter.com *.twitter.com
Deny
[ABE] <twitter.com *.twitter.com> Deny on {GET http://twitter.com/share <<< http://www.tottenhamhotspurs.tv/forum/players-lounge/ - 6}
USER rule:
Site twitter.com *.twitter.com
Accept from twitter.com *.twitter.com
Deny
So both the widget and the share link are indeed blocked.
Natural question: Why is Twitter showing at all?
Because that link is embedded in the source code of tottenhamhotspurs itself:
Code: Select all
<!-- Tweet Button -->
<span class="tweet"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="THFCforum">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></span>
NoScript can't remove that code from tottenham's page, but it can prevent it from executing the third-party scripts, either the sharing or implanting the widget. Just as I could put
in this reply, but can't force it to run against the might of NS and ABE.
The same effect could be achieved by leaving FB and Twitter in the default-deny zone, then temp-allowing them at FB and at Twit, respectively.
ABE lets you do that automatically.
All of this will become much easier in the long-awaited
NoScript 3.x for the desktop, which will have per-site permissions built in.
[1] Whereas NS blocks all
executable content, whether from the site you are on or elsewhere, unless whitelisted or TA'd,
RequestPolicy blocks
all requests to any *other* site from the site you are on, executable or not. But not from the site you are on.
E. g.: A single-pixel clear .gif image placed by an ad agency, commonly referred to as a "Web beacon" by the ad industry, and as a "Web bug" by privacy-conscious users. Calling the source of the invisible image lets the ad people track you around any site that lets them place it.
NS would not block this, being non-executable. RP would not block any scripts, Flash objects, whatever, *on the site you are on*.
Put the two together, it's awesome control.
*If and when you've digested most or all of NoScript*

, see more:
RequestPolicy home page:
Cheers,
- Tom
