Difference between revisions of "Greasemonkey Manual:Installing Scripts"

From GreaseSpot Wiki
Jump to navigationJump to search
m
 
(17 intermediate revisions by 8 users not shown)
Line 1: Line 1:
// ==UserScript==
{{Greasemonkey Manual TOC}}
// @name          Facebook AutoLike
// @namespace      AutoLike
// @description    Automaticly like facebook statuses and comments
// @include        http://www.facebook.com/*
// ==/UserScript==


// ==Credits==
== About User Scripts ==
body = document.body;
 
if(body != null) {
The purpose of [[Greasemonkey]] is to manage user scripts.
div = document.createElement("div");
[[User script]]s allow the ''user'' to control the way they use the web, by customizing it with scripting.
div.style.position = "fixed";
The [https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/ Greasemonkey extension] won't do any good without any scripts installed.
div.style.bottom = "+122px";
 
div.style.left = "+6px";
The first thing an eager user should do is find and install ''(or write!)'' a useful script.
div.style.backgroundColor = "#eceff5";
 
div.style.border = "2px solid #94a3c4";
:* A word on finding [[user script]]s. They may be located anywhere on the internet but you should look first at [[User_Script_Hosting|common hosts]].
div.style.padding = "2px";
 
div.innerHTML = "<a style=\"font-weight:bold;color:#333333\" href=\"/jaaaaason\">Made by Jason!</a>"
Installation of a script is most often done by clicking a link on a web page.
<!-- Not in 4.0
body.appendChild(div);
One may also drag-and-drop a local file into the browser window, or optionally use the menu bar [http://support.mozilla.com/en-US/kb/Menu+Reference#Open_File_ File &rarr; Open File...] dialog to open it.
}
-->
// ==============
 
// ==Expand==
:* Any file that ends in '''<code>.user.js</code>''' is a user script.
body = document.body;
 
if(body != null) {
When navigating to a URL which ends with <code>.user.js</code>, [[Greasemonkey]] will trigger the installation dialog.
div = document.createElement("div");
Note that [[Greasemonkey]] must be [[Troubleshooting_(Users)#Greasemonkey Enabled Status|enabled]] to do so.
div.style.position = "fixed";
 
div.style.bottom = "+102px";
== The Installation Dialog ==
div.style.left = "+6px";
 
div.style.backgroundColor = "#eceff5";
[[Image:Install-dialog.png|left|thumb|150px|GM Installation Dialog]]
div.style.border = "2px solid #94a3c4";
 
div.style.padding = "2px";
When navigating to a [[user script]], Greasemonkey will open its installation dialog instead of loading the script like a normal page.
div.innerHTML = "<a style=\"font-weight:bold;color:#333333\" href=\"JavaScript:AutoExpand()\">Expand comments</a>"
A thumbnail of this dialog is shown to the left.
It displays the name and description of the script as well as the [[include and exclude rules]] and special [[API]]s that apply.
body.appendChild(div);
<!-- Not in 4.0!
''Note:'' Greasemonkey must be  [[Troubleshooting (Users)#Greasemonkey Enabled Status|enabled]] to install scripts.
unsafeWindow.AutoExpand = function() {
-->
 
buttons = document.getElementsByTagName("input");
;* The Install button
for(i = 0; i < buttons.length; i++) {
This button will, of course, install the script in question.
myClass = buttons[i].getAttribute("class");
Like the Firefox extension installation dialog, this button is disabled for a few seconds to avoid the same potential [http://www.squarefree.com/2004/07/01/race-conditions-in-security-dialogs security vulnerability].
if(myClass != null && myClass.indexOf("") >= 0)
 
if(buttons[i].getAttribute("name") == "view_all[1]")
;* The Cancel button
buttons[i].click();
This button will cancel the installation of a script.
}
 
<!-- Not in 4.0
};
;* The View Script Source button
}
This button will allow viewing of the source code contained in the script.
// ==============
At this point, [[Greasemonkey]] has already downloaded the [[user script]] in question to display the name and other details.
// ==Statuses==
 
body = document.body;
When a user shows the script source, it displays the temporary file that Greasemonkey has already downloaded depicted in this [[:media:View-source.png|screenshot]].
if(body != null) {
In this window there is an information bar at the top similar to the Firefox extension installation security warning.  
div = document.createElement("div");
Clicking the install button here will also install the script.  
div.style.position = "fixed";
 
div.style.bottom = "+72px";
-->
div.style.left = "+6px";
Now with some scripts installed, we can open the [[Greasemonkey Manual:Monkey Menu|Monkey Menu]] to list and manage them.
div.style.backgroundColor = "#eceff5";
div.style.border = "2px solid #94a3c4";
div.style.padding = "2px";
div.innerHTML = "<a style=\"font-weight:bold;color:#333333\" href=\"JavaScript:AutoLike()\">Like all statuses</a>"
body.appendChild(div);
unsafeWindow.AutoLike = function() {
buttons = document.getElementsByTagName("button");
for(i = 0; i < buttons.length; i++) {
myClass = buttons[i].getAttribute("class");
if(myClass != null && myClass.indexOf("like_link") >= 0)
if(buttons[i].getAttribute("name") == "like")
buttons[i].click();
}
};
}
// ==============
// ==Unlike Statuses==
body = document.body;
if(body != null) {
div = document.createElement("div");
div.style.position = "fixed";
div.style.bottom = "+52px";
div.style.left = "+6px";
div.style.backgroundColor = "#eceff5";
div.style.border = "2px solid #94a3c4";
div.style.padding = "2px";
div.innerHTML = "<a style=\"font-weight:bold;color:#333333\" href=\"JavaScript:AutoUnLike()\">Unlike all statuses</a>"
body.appendChild(div);
unsafeWindow.AutoUnLike = function() {
buttons = document.getElementsByTagName("button");
for(i = 0; i < buttons.length; i++) {
myClass = buttons[i].getAttribute("class");
if(myClass != null && myClass.indexOf("like_link") >= 0)
if(buttons[i].getAttribute("name") == "unlike")
buttons[i].click();
}
};
}
// ==============
// ==Comments==
body = document.body;
if(body != null) {
div = document.createElement("div");
div.style.position = "fixed";
div.style.bottom = "+22px";
div.style.left = "+6px";
div.style.backgroundColor = "#eceff5";
div.style.border = "2px solid #94a3c4";
div.style.padding = "2px";
div.innerHTML = "<a style=\"font-weight:bold;color:#333333\" href=\"JavaScript:AutoLikeComments()\">Like all comments</a>"
body.appendChild(div);
unsafeWindow.AutoLikeComments = function() {
buttons = document.getElementsByTagName("button");
for(i = 0; i < buttons.length; i++) {
myClass = buttons[i].getAttribute("class");
if(myClass != null && myClass.indexOf("") >= 0)
if(buttons[i].getAttribute("title") == "Like this comment")
buttons[i].click();
}
};
}
// ==============
// ==Unlike Comments==
body = document.body;
if(body != null) {
div = document.createElement("div");
div.style.position = "fixed";
div.style.bottom = "+2px";
div.style.left = "+6px";
div.style.backgroundColor = "#eceff5";
div.style.border = "2px solid #94a3c4";
div.style.padding = "2px";
div.innerHTML = "<a style=\"font-weight:bold;color:#333333\" href=\"JavaScript:AutoUnLikeComments()\">Unlike all comments</a>"
body.appendChild(div);
unsafeWindow.AutoUnLikeComments = function() {
buttons = document.getElementsByTagName("button");
for(i = 0; i < buttons.length; i++) {
myClass = buttons[i].getAttribute("class");
if(myClass != null && myClass.indexOf("") >= 0)
if(buttons[i].getAttribute("title") == "Unlike this comment")
buttons[i].click();
}
};
}
// ==============

Latest revision as of 15:06, 3 November 2017

Book.png
Greasemonkey Manual
Using Greasemonkey
Installing Scripts
Monkey Menu
Getting Help
User Script Authoring
Editing
Environment
API

About User Scripts

The purpose of Greasemonkey is to manage user scripts. User scripts allow the user to control the way they use the web, by customizing it with scripting. The Greasemonkey extension won't do any good without any scripts installed.

The first thing an eager user should do is find and install (or write!) a useful script.

Installation of a script is most often done by clicking a link on a web page.

  • Any file that ends in .user.js is a user script.

When navigating to a URL which ends with .user.js, Greasemonkey will trigger the installation dialog. Note that Greasemonkey must be enabled to do so.

The Installation Dialog

GM Installation Dialog

When navigating to a user script, Greasemonkey will open its installation dialog instead of loading the script like a normal page. A thumbnail of this dialog is shown to the left. It displays the name and description of the script as well as the include and exclude rules and special APIs that apply.

  • The Install button

This button will, of course, install the script in question. Like the Firefox extension installation dialog, this button is disabled for a few seconds to avoid the same potential security vulnerability.

  • The Cancel button

This button will cancel the installation of a script.

Now with some scripts installed, we can open the Monkey Menu to list and manage them.