Include and exclude rules

From GreaseSpot Wiki
Revision as of 18:39, 28 September 2009 by Marti (talk | contribs) (iTOC established... sf)
Jump to navigationJump to search
Greasemonkey Manual
Using Greasemonkey
Installing Scripts
Monkey Menu
Getting Help
User Script Authoring

User scripts specify include and exclude rules in the metadata block.

The script will execute if it matches any include rule, as long as it does not match an exclude rule.

The rules are URLs, which can have a "wildcard" asterisk (*), which matches any string including the empty string. For example:* will match and, but not A rule can have several wildcards or none, in which case the rule must match the entire URL exactly. Exclude rules look the same, and prevent the script from being executed. An example:

// ==UserScript==
// @include*
// @include*.bar
// @exclude
// ==/UserScript==

If no include rule is provided, @include * is assumed. That is, every URL will be matched within the allowed Greaseable schemes.


Greaseable schemes

General | file: | about:





top | back


Only if greasemonkey.fileIsGreaseable is set to true in about:config.

top | back


Only if greasemonkey.aboutIsGreaseable is set to true in about:config. about:blank is always allowed.

top | back

Magic TLD

The only special syntax besides the wildcard is .tld. An include such as http://www.example.tld/* will match any top level domain, such as,,, and so on. One must be careful with this, to not accidentally leak data to a site that they did not mean to match. This list of TLDs includes a myriad of dual-segment TLDs (such as, and, beside the plain country or category codes (com, jp, se). For a full list see the Magic TLD page.