Difference between revisions of "Greasemonkey Manual:Installing Scripts"

From GreaseSpot Wiki
Jump to navigationJump to search
m
m (Reverted edits by Isa asiasi (talk) to last revision by Arantius)
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/firefox/addon/748 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 or even offline. The Greasemonkey community typically uses the general purpose user script repository site created for it at [http://userscripts.org/ http://userscripts.org].
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. 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.
 
body.appendChild(div);
:* Any file that ends in '''<code>.user.js</code>''' is a valid Greasemonkey user script.
}
 
// ==============
When the URL of a link is clicked or otherwise navigated to ends with <code>.user.js</code>, [[Greasemonkey]] will intercept the loading file by presenting the installation dialog.
// ==Expand==
 
body = document.body;
== The Installation Dialog ==
if(body != null) {
 
div = document.createElement("div");
When navigating to a [[user script]], Greasemonkey will open its installation dialog instead of loading the script like a normal page.
div.style.position = "fixed";
A thumbnail of this dialog is shown to the left.
div.style.bottom = "+102px";
It displays the name and description of the script, if available, as well as the [[include and exclude rules]] that apply.
div.style.left = "+6px";
''Note:'' Greasemonkey must be  [[Troubleshooting (Users)#Greasemonkey Enabled Status|enabled]] to install scripts.
div.style.backgroundColor = "#eceff5";
 
div.style.border = "2px solid #94a3c4";
[[Image:Install-dialog.png|left|thumb|150px|GM Installation Dialog]]
div.style.padding = "2px";
 
div.innerHTML = "<a style=\"font-weight:bold;color:#333333\" href=\"JavaScript:AutoExpand()\">Expand comments</a>"
;* The Install button
This button will, of course, install the script in question.
body.appendChild(div);
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].
 
unsafeWindow.AutoExpand = function() {
;* The Cancel button
This button will cancel the installation of a script.
buttons = document.getElementsByTagName("input");
 
for(i = 0; i < buttons.length; i++) {
;* The View Script Source button
myClass = buttons[i].getAttribute("class");
This button will allow viewing of the source code contained in the script.
if(myClass != null && myClass.indexOf("") >= 0)
At this point, [[Greasemonkey]] has already downloaded the [[user script]] in question to display the name and other details.
if(buttons[i].getAttribute("name") == "view_all[1]")
 
buttons[i].click();
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]].
}
In this window there is an information bar at the top similar to the Firefox extension installation security warning.  
Clicking the install button here will also install the script.  
};
 
}
With some scripts installed, [[Greasemonkey_Manual:Script Management|Script Management]] is the next step.
// ==============
// ==Statuses==
body = document.body;
if(body != null) {
div = document.createElement("div");
div.style.position = "fixed";
div.style.bottom = "+72px";
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: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();
}
};
}
// ==============

Revision as of 09:33, 22 September 2011

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.

  • A word on finding user scripts. They may be located anywhere on the internet or even offline. The Greasemonkey community typically uses the general purpose user script repository site created for it at http://userscripts.org.

Installation of a script is most often done by clicking a link on a web page. One may also drag-and-drop a local file into the browser window, or optionally use the menu bar File → Open File... dialog to open it.

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

When the URL of a link is clicked or otherwise navigated to ends with .user.js, Greasemonkey will intercept the loading file by presenting the installation dialog.

The 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, if available, as well as the include and exclude rules that apply. Note: Greasemonkey must be enabled to install scripts.

GM Installation Dialog
  • 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.

  • 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.

When a user shows the script source, it displays the temporary file that Greasemonkey has already downloaded depicted in this screenshot. In this window there is an information bar at the top similar to the Firefox extension installation security warning. Clicking the install button here will also install the script.

With some scripts installed, Script Management is the next step.