update note about noscript

This commit is contained in:
Stefan Breunig 2013-02-18 11:55:32 +01:00
parent 59957d84c1
commit 190b313e7d
2 changed files with 1 additions and 154 deletions

View File

@ -57,7 +57,7 @@ Current version is 0.61. See [NEWS.md](https://github.com/breunigs/ingress-intel
**Opera:** Download the script and put it into your user_js folder (thats `~/.opera/user_js` on Unix). If you cant find it [see Operas docs](http://www.opera.com/docs/userjs/using/#writingscripts). After placing it there, reload the page. **Opera:** Download the script and put it into your user_js folder (thats `~/.opera/user_js` on Unix). If you cant find it [see Operas docs](http://www.opera.com/docs/userjs/using/#writingscripts). After placing it there, reload the page.
**NoScript:** It doesnt work with NoScript, unless you uncheck `NoScript``Embeddings``Block every object coming from a site makred as untrusted`. This is required, even if NoScript is set to allow scripts globally. No embedded objects are being loaded. I tried reporting the bug, but only a forum that wouldnt let me register was available. Theres a stripped down example in `noscript-sucks.html`. If you can manage to report the bug, be my guest. **NoScript:** The newest, not yet released version appears to work with NoScript. Until it is released disable NoScript if you have problems. To make the script work whitelist at least these domains: `ingress.com` `github.com` `leafletjs.com` `googleapis.com`. If you want to see the cool font also whitelist `googleusercontent.com`.

View File

@ -1,153 +0,0 @@
<script>
(function(exports) {
exports = exports || {};
var handlers = {}, createChain, add;
createChain = function (context, stack, lastMethod) {
var inHandler = context.halt = false;
//The default error handler
context.error = function (e) {
throw e;
};
//Run the next method in the chain
context.next = function (exit) {
if (exit) {
inHandler = false;
}
if (!context.halt && stack && stack.length) {
var args = stack.shift(), method = args.shift();
inHandler = true;
try {
handlers[method].apply(context, [args, args.length, method]);
} catch (e) {
context.error(e);
}
}
return context;
};
//Bind each method to the context
for (var alias in handlers) {
if (typeof context[alias] === 'function') {
continue;
}
(function (alias) {
context[alias] = function () {
var args = Array.prototype.slice.call(arguments);
if (alias === 'onError') {
if (stack) {
handlers.onError.apply(context, [args, args.length]);
return context;
}
var new_context = {};
handlers.onError.apply(new_context, [args, args.length]);
return createChain(new_context, null, 'onError');
}
args.unshift(alias);
if (!stack) {
return createChain({}, [args], alias);
}
context.then = context[alias];
stack.push(args);
return inHandler ? context : context.next();
};
}(alias));
}
//'then' is an alias for the last method that was called
if (lastMethod) {
context.then = context[lastMethod];
}
//Used to call run(), chain() or another existing method when defining a new method
//See load.js (https://github.com/chriso/load.js/blob/master/load.js) for an example
context.call = function (method, args) {
args.unshift(method);
stack.unshift(args);
context.next(true);
};
return context.next();
};
//Add a custom method/handler (see below)
add = exports.addMethod = function (method /*, alias1, alias2, ..., callback */) {
var args = Array.prototype.slice.call(arguments),
handler = args.pop();
for (var i = 0, len = args.length; i < len; i++) {
if (typeof args[i] === 'string') {
handlers[args[i]] = handler;
}
}
//When no aliases have been defined, automatically add 'then<Method>'
//e.g. adding 'run' also adds 'thenRun' as a method
if (!--len) {
handlers['then' + method.substr(0,1).toUpperCase() + method.substr(1)] = handler;
}
createChain(exports);
};
//run() - Run each function in parallel and progress once all functions are complete
add('run', function (args, arg_len) {
var self = this, chain = function () {
if (self.halt) {
return;
} else if (!--arg_len) {
self.next(true);
}
};
var error = function (e) {
self.error(e);
};
for (var i = 0, len = arg_len; !self.halt && i < len; i++) {
if (null != args[i].call(self, chain, error)) {
chain();
}
}
});
}(this));
var head = document.getElementsByTagName('head')[0] || document.documentElement;
addMethod('load', function (args, argc) {
for (var queue = [], i = 0; i < argc; i++) {
(function (i) {
queue.push(asyncLoadScript(args[i]));
}(i));
}
this.call('run', queue);
});
function asyncLoadScript(src) {
return function (onload, onerror) {
console.log('still ok');
var script = document.createElement('script');
script.src = src;
script.onload = onload;
script.onerror = onerror;
script.onreadystatechange = function () {
console.log('no ok anymore');
var state = this.readyState;
if (state === 'loaded' || state === 'complete') {
script.onreadystatechange = null;
onload();
}
};
head.insertBefore(script, head.firstChild);
}
}
load('http://raw.github.com/bryanwoods/autolink-js/master/autolink.js').thenRun(function() {
console.log("http://www.mozilla.com".autoLink());
});
</script>