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
-~----------~----~----~----~------~----~------~--~---

Reply via email to