robmunro
robmunro

Reputation: 215

Can't rename or create more than one custom userscript script in Tampermonkey

I am currently trying to create 3 userscripts in Tampermonkey for separate pages. Using the GUI, I can click on "Add a new script", however every time I save after making changes, it re-saves over the top of 'My Fancy New Userscript' and there doesn't seem to be any way of renaming the scripts.

Perhaps I am missing something?:)

Upvotes: 21

Views: 9238

Answers (1)

Brock Adams
Brock Adams

Reputation: 93473

The name is set by the @name directive. In Tampermonkey, there can never be more than one script with the same @name1.

Changing the name


In fact, you should examine and change, or delete, every one of the default @ directives with each new script. Most of that is clutter (most of the time), and it's poor practice to have a script run on every page like @match http://*/* specifies.

A good starter template is:

// ==UserScript==
// @name     _YOUR_SCRIPT_NAME
// @match    http://YOUR_SERVER.COM/YOUR_PATH/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/

Where you change the @name and @match(es) for every script.

This template also uses jQuery from the local disk (which you will want to do for any serious scripting), and is fully compatible with Greasemonkey.




1 This is actually a bit of a bug. Tampermonkey should follow the Greasemonkey model, where it's the @name + @namespace combination that has to be unique.

Upvotes: 43

Related Questions