2009/7/20 Alex McAuley <webmas...@thecarmarketplace.com>: > > Just an FYI incase anyone wondered .... > > It seems (at least in firefox 3x, IE7+, CHrome, Safari (windows)) that the > browser or "prototype" itself wont load 2 copies of it.... > > To Test i included prototype.js in the <head> and included it again in the > body and there was only one output of javascript!.... > > Kudos to the browser vendors or the script devs!! > > ----- Original Message ----- > From: "Alex McAuley" <webmas...@thecarmarketplace.com> > To: <prototype-scriptaculous@googlegroups.com> > Sent: Monday, July 20, 2009 11:12 AM > Subject: [Proto-Scripty] Re: Checking if prototype is loaded > > >> >> Sorry my bad.... was "if(window.Prototype) ..." >> >> >> Sorry for silly post !! >> >> Alex >> ----- Original Message ----- >> From: "Jeztah" <webmas...@thecarmarketplace.com> >> To: "Prototype & script.aculo.us" >> <prototype-scriptaculous@googlegroups.com> >> Sent: Monday, July 20, 2009 11:07 AM >> Subject: [Proto-Scripty] Checking if prototype is loaded >> >> >>> >>> Morning guys. >>> >>> Does anyone know a way to check if prototype is loaded or not .... >>> >>> I have tried "if(Prototype) { ..." but just throws an undefined error. >>> >>> I know i know i should know if it is loaded or not but my servers use >>> very heavy aggressive caching due to massive user loads and i noticed >>> in my cache there was some javascript thats not even on the page left >>> in a session cache. >>> >>> To cut it short i use server side methods to gzip/minify js files on >>> page load (same with the css).... as they are loaded they go into an >>> array if whats loaded. Then on the page i am able to check the "Cache" >>> of javascript loaded by checking a session array variable. The trouble >>> is .... the session variable is rightly telling me prototype is >>> (included) - but not in the <head> tag so it is not showing up as a >>> loaded script once the page is refreshed!!!.... >>> >>> would it be window.Prototype or is there a cleaner method ? >>> >>> >>> Thanks in advance >>> >>> Alex >>> >>> > >>> >> >> >> > >> > > > > >
I would be careful of your assumptions. The second copy IS loaded. Hopefully from cache. You will notice that the very first line of javascript in prototye.js is ... var Prototype = { So, this will overwrite any pre-existing variable called Prototype. So, the second copy IS executed. As far as I can tell, all of the code in prototype.js can quite happily run twice or more without a problem. I think the issue would come if you had other code loaded between the 2 prototypes which you expected to be present. Say a plugin to prototype.... <script type="text/javascript" src="/js/prototype.js"></script> <script type="text/javascript" src="/js/prototype-plugin.js"></script> <script type="text/javascript" src="/js/prototype.js"></script> If the plugin extends prototype's features in some way, then the second load of prototype will effectively reset Prototype back to the base version. -- ----- Richard Quadling Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 "Standing on the shoulders of some very clever giants!" ZOPA : http://uk.zopa.com/member/RQuadling --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---