[Greasemonkey] bug 11423

Lenny Domnitser ldrhcp at gmail.com
Tue Aug 30 17:21:51 EDT 2005


On 8/30/05, Lenny Domnitser <ldrhcp at gmail.com> wrote:
> > To compensate for the slowness, I will concatenate all the user scripts for a
> > given page together into one mega script to execute all at once. This means that
> > malicious user scripts could interfere with one another on 1.0.x, but I feel
> > that this is acceptable.
> 
> Scripts will interfere with each other if simple concatenation is
> used, but not if the setTimeout hack is used, like so:
> 
> // Let's assume the variable "scripts" is an array of script strings,
> // and the variable "chunkToExecute" is a string.
> // Obvioulsy this can be adapted to the real var names.
> for(var c = 0; c < scripts.length; c++) {
>   // do not do this: chunckToExecute += scripts[c] + '\n';
>   // this is good:
>   chunckToExecute += 'setTimeout(function(){' + scripts[c] + '\n},0);';
> }
> 
> Don't forget the \n, in case a script ends in a comment.
>


More information about the Greasemonkey mailing list