"
// This kind of script WILL work if processed by Ajax.Updater:
coolFunc = function() {
  // Amazing stuff!
}

That’s a common trickster, biting beginners in the ankle. So watch
out!
"

(reading retard)  :) thanks.. I'll try this tomorrow and report back.


DaveC


On Oct 22, 11:00 pm, "T.J. Crowder" <[EMAIL PROTECTED]> wrote:
> Hi Dave,
>
> So in essence, you want to load a "page" (really a fragment of a page)
> from the server into a container element and execute the scripts in
> the page that comes back?  Good news:  You're working too hard. :-)
> Prototype will do that for you if you set Ajax.Updater's "evalScripts"
> option[1] to true.
>
> [1]http://www.prototypejs.org/api/ajax/updater
>
> You said you call a function on the page to give it a chance to run
> its scripts.  You don't have to do that, any function calls at the
> "global" level in the page that comes back will get executed as part
> of Prototype's script evaluation.
>
> Here's a demo:http://pastie.org/297904 (the container 
> page)http://pastie.org/297905 (the "page" fragment it loads)
>
> In that demo:  The container loads the "newstuff" fragment, Prototype
> runs the scripts.  Since the "newstuff" fragment has a global call to
> a function, that happens right then and we see the alert.  Once
> loaded, the scripts on the fragment and in the main page have access
> to each other, it's all the same DOM document.
>
> HTH,
> --
> T.J. Crowder
> tj / crowder software / com
>
> On Oct 22, 9:42 am, DaveC <[EMAIL PROTECTED]> wrote:
>
> > This is kind of related to previous post "Dynamic script file
> > loading", but I cant solve the following problem. Please help. It's
> > basically an IE problem.
>
> > I'm writing an AJAX application where each page of the site is loaded
> > dynamically by the client side application. So for example the user
> > clicks home, and the client side app makes an AJAX call to the server
> > for the content and replaces the contents of a container div with this
> > new content. Each page has some Javascript that needs to be
> > dynamically added to the page as well, so here I'm adding a script
> > element into the container as well. Once all that's done I call a
> > predefined onload function in the returned script so that the page
> > content can take over and do it's thing (setting up page related
> > stuff)
>
> > The difference with the previous post is that my javascript is
> > returned in the AJAX call, I have no files to dynamically reference on
> > the server, the Javascript comes in the AJAX response.
>
> > BUT the following code hands in IE7 when it gets to the .update and I
> > don't know why.. this otherwise works in other browsers.
>
> >             // add html to container.
> >             container.update(new_content_html);
>
> >             // add javascript to container.
> >             var el_script = new Element('script', { 'language':
> > 'JavaScript', 'type':'text/JavaScript' });
> >             el_script.update(new_content_js); // ?????? IE7 hangs
> > here ?????
> >             container.insert( el_script );
>
> >             // call the template load event.
> >             var function_name =  'template_'+ template_name
> > +'_onload';
> >             eval(function_name + '();' );
>
> > As an aside I did, previous to this solution, try to combine the page
> > HTML and inline Javascript and do a single update.
> > container.update(new_content);
> > however my _onload functions would not be registered in the browser
> > causing the "call the template load event" part above to fail, dispite
> > Prototype docs saying that Update evals inline scripts, well it does
> > but the functions would not register.
>
> > So either a solution to the first or an explination of the second
> > method would be most appretiated.
>
> > Thanks heaps every one.
>
> > DaveC
--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to