Skip to content

Instantly share code, notes, and snippets.

@Ventero
Ventero / location_replace_test.user.js
Created July 7, 2012 14:54
location.replace test for GM
// ==UserScript==
// @name location.replace test
// @namespace test
// @include *
// @version 1
// @grant GM_addStyle
// ==/UserScript==
if(window.location.href.indexOf("anchor") == -1) {
alert("Replacing location");
// ==UserScript==
// @name Break GMail Test
// @namespace test
// @include https://mail.google.com/*
// @include http://mail.google.com/*
// @version 1
// @grant none
// ==/UserScript==
j = 0;
@Ventero
Ventero / issue_1578.diff
Created July 3, 2012 18:55
Greasemonkey issue 1578
diff --git a/content/browser.js b/content/browser.js
index e6e9556..13d1c27 100644
--- a/content/browser.js
+++ b/content/browser.js
@@ -335,6 +335,16 @@ function GM_showPopup(aEvent) {
GM_MenuCommander.onPopupShowing(menuCommandPopup);
}
+/**
+ * Clean up the menu after it hides to prevent memory leaks
@Ventero
Ventero / test.user.js
Created July 3, 2012 18:34
Zombie Compartment Test for Greasemonkey
// ==UserScript==
// @name GM_registerMenuCommand Zombie Compartment Test
// @namespace ventero.de
// @include *
// ==/UserScript==
GM_registerMenuCommand("foo", function(){alert("click");});
// ==UserScript==
// @name Anonymous function wrap test
// @namespace ventero.de
// @include *
// ==/UserScript==
alert("Script running");
return;
// ==UserScript==
// @name Timeout additional parameter test
// @namespace ventero.de
// @include *
// @version 1
// ==/UserScript==
setTimeout(function(a, b){alert(a.foo + "//" + typeof b)}, 0, {foo:1}, {});
// ==UserScript==
// @name GM_openInTab test
// @namespace ventero.de
// @include https://github.com/*
// ==/UserScript==
alert("typeof GM_openInTab() is " + typeof GM_openInTab("http://www.google.com"));
@Ventero
Ventero / lateinjection.user.js
Created August 20, 2011 20:03
Late injection test
// ==UserScript==
// @name Late injection test
// @namespace ventero
// @include *
// @require https://gist.github.com/raw/1159592/883c27709814b7066708e50c51522937ab37678d/require.js
// ==/UserScript==
if(typeof requiredScript === "undefined") requiredScript = "not present";
alert("Injected!\ndocument.readyState is " + document.readyState + "\n required script is " + requiredScript);
// ==UserScript==
// @name MenuCommander test
// @namespace test
// @include *
// ==/UserScript==
GM_registerMenuCommand("foo", function(){alert(1)});
// ==UserScript==
// @name test: top = 0;
// @include *
// ==/UserScript==
top = 0;
alert('a');