Yep, I have all my _javascript_ in separate .js “class” files too (no spaghetti markup mixed with _javascript_).

 

In fact, I use the below script injection method in place of the XMLHTTP object completely. It’s faster and has a smaller memory footprint, plus absolutely no need for the slow eval() statement.

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Alex Duffield
Sent: Friday, February 17, 2006 2:34 PM
To: rails-spinoffs@lists.rubyonrails.org
Subject: Re: [Rails-spinoffs] Ajax.Updater and loading new _javascript_functions.

 

Ryan, this  I like this solution, as I would much prefer my JS to be in external .js files. 

 

assigning the functions to variables also worked great so I heve a few options 

 

Thanks!

 

 (Thanks to Todd and Gregory as well!!! ) 

______________________________________________________________________

Alex Duffield . Principal . InControl Solutions . http://www.incontrolsolutions.com 

 

 

 

On 17-Feb-06, at 12:08 PM, Ryan Gahl wrote:



Somewhere in your process (not sure where in your specific case)… try doing the following to inject a script element into the dom, where url is your .js path… This makes that script file get executed immediately.

 

var jsScript = document.createElement("script");

jsScript.setAttribute("type", "text/_javascript_");

jsScript.setAttribute("src", url);

var node = document.body.firstChild;

node = (node.nodeType == 3) ? node.nextSibling : node;

document.body.insertBefore(jsScript, node);

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Alex Duffield
Sent: Friday, February 17, 2006 2:01 PM
To: rails-spinoffs@lists.rubyonrails.org
Subject: [Rails-spinoffs] Ajax.Updater and loading new _javascript_ functions.

 

I working on rebuilding my CMS software using AJAX, and have run into a couple problems I cant seem to find the solution to. 

 

I am loading up a new component of my system using the Ajax.Updater, and it loads up the HTML fine but as the component I am loading up is fairly complicated I want to load up its relevant _javascript_ functions as well at the same time. 

 

I am using the evalScript:true option, and somthing simple like alert("foobar") gets triggered in my loaded code, but if I try to define a function and then try to call it like

 

            function myalert(txt)

                        {

                                    alert(txt)

                        }

 

            myalert("foobar")

 

It wont get called. 

 

But if I move myallert() into my main page I can call the function from the code loaded by Ajax.Update

 

I would much prefer to have my _javascript_ loaded dynamically with each different component as needed instead of having to load up everything when the app is originally loaded. 

 

I tryed including the JS code directly in the code returned by Ajax.Updater as well as linking to it with:

<script type="text/_javascript_" src="">

 

No love.

 

 

 

My second problem is probably related. 

 

I am using Behaviour.js and would like to have my code loaded by Ajax.Updater register new rules. Again I have to define them in the main app, but even worse, if the element the rule is applied to does not exist in the app in its initial state, the rule doesn't take. 

 

Any how, I am sure there is a simple solution to this so your help is appreciated! 

______________________________________________________________________

Alex Duffield . Principal . InControl Solutions . http://www.incontrolsolutions.com 

 

 

 

The information transmitted in this electronic mail is intended only for the person or entity to which it is addressed and may contain confidential, proprietary, and/or privileged material.  Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from all computers.

_______________________________________________

Rails-spinoffs mailing list

 

The information transmitted in this electronic mail is intended only for the person or entity to which it is addressed and may contain confidential, proprietary, and/or privileged material.  Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from all computers.

_______________________________________________
Rails-spinoffs mailing list
Rails-spinoffs@lists.rubyonrails.org
http://lists.rubyonrails.org/mailman/listinfo/rails-spinoffs

Reply via email to