Hi, FYI, Tobie's working on Prototype support for Google Caja[1], which is around doing exactly the sort of thing. (Caja is Spanish for "box".) It's not released yet, but coming soon. (And yes, "Google Caja" does read a bit like the name of an 80's one-hit-wonder on first glance. ;-) Less so when spoken, since that 'j' is an 'h' sound [with a bit of throat] -- "CA-ha").
Separately, remember that in addition to defining several symbols (usually at global scope), Prototype: 1. Modifies the prototypes of several things like Function, Array, and such; 2. Directly modifies globals like document, Object; and 3. (Where possible) Modifies the prototypes of some DOM elements. I have the impression that at the moment, the best way to use Prototype and jQuery in the same project is to use jQuery's no- conflict mode.[2] (That doesn't mean you necessarily have to use "jQuery" instead of "$" everywhere, see the link for details on shorthand options.) [1] http://code.google.com/p/google-caja/ [2] http://docs.jquery.com/Using_jQuery_with_Other_Libraries HTH, -- T.J. Crowder tj / crowder software / com Independent Software Engineer, consulting services available On Mar 16, 4:01 am, Josh Powell <seas...@gmail.com> wrote: > First, thanks for the reply. This seemed like it should work to > contain Prototype, but it doesn't... > > $(function() { > console.log($('mySelect')); > (function() { > $.getScript('/cfgmgr/js/lib/prototype-1.6.0.3.js', function() { > console.log($('mySelect')); > }); > })(); > console.log($('mySelect')); > setTimeout("console.log($('mySelect'))", 1000); > }); > > Using jQuerys getScript to bring in Prototype, the console.log with > the timeout set returns the same thing as the console.log inside of > the callback from the getScript. In case you don't know jQuery: > > $(function() { > > }); > > is shorthand for executing this anonymous function once the page > loads. The first > > console.log($('mySelect')); > > shows an empty array, which it should because $ is similar to > Prototypes $$ and should have a # in front of it to get by id. > > next, the > > (function() { > > })(); > > is meant to contain the loading of Prototype. > > The console.log inside of the callback executes as expected, and logs > the element with an id of mySelect. The console.log called just > outside of the containing anonymous function returns an empty array, > as expected, as prototype hasn't had time to load just yet but the > console.log inside of the timeout logs the element with the id of > mySelect, using prototype. So, everything that runs after prototype > has loaded by the getScript will have access to Prototype. > > I'm not sure if loading the text server side in the (function() {})(); > will work either, possibly this doesn't work because Prototype changes > the prototype of objects declared outside of the (function(){})(); > which bears further testing. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---