Userscripts don't run in the same context as the page. In order to access the page's javascript environment, you need to run it like so:
var execute = function (body) {
if(typeof body === "function") { body = "(" + body + ")();"; }
var el = document.createElement("script");
el.textContent = body;
document.body.appendChild(el);
return el;
};
execute(function() {
$.noop();
}
Bonus: you can also load external scripts from a CDN.
var load = function (src, on_load, on_error) {
var el = document.createElement("script");
el.setAttribute("src", src);
if (on_load != null) { el.addEventListener("load", on_load); }
if (on_error != null) { el.addEventListener("error", on_error); }
document.body.appendChild(el);
return el;
};
load("//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js", function () {
execute(function(){$.noop();});
});