I don't really understand what your problem is. Wicket has AJAX header
contribution, which should load the javascript dynamically for you.
Doesn't this work for you?

-Matej

On 7/31/07, Carlos Pita <[EMAIL PROTECTED]> wrote:
> Yes Gwen,
>
> there are a couple of workarounds, of course, I could call renderHead
> explicitly from the page too. But the case seems not too uncommon imo (a
> component that includes some external javascript and isn't showed at first).
> Maybe it should be supported directly by wicket, after all a component
> usually contributes support stuff to the header that it's not visible but
> should be there in case it is finally showed.
>
> Current implementation resends the header stuff by ajax every time the
> component is updated and then checks for duplication at client side so that
> js, css, links, etc are not included twice. But usually it's simpler and
> maybe a bit more robust to include the header support stuff upon page
> rendering and not to contribute anything more upon ajax rendering. Of course
> contributed stuff could change from ajax request to ajax request but I don't
> think this is the rule for the header but, for example, to javascript
> snippets appended to the ajax request target.
>
> More generally speaking, at least four header-contributing scenarios come to
> my mind:
>
> 1) initial page rendering - per component class
> 2) ajax component rendering - per component class
> 3) initial page rendering - per component instance
> 4) ajax component rendering - per component instance
>
> The "per component instance" variants allow each instance of the component
> to spit some code tailored to the specific instance (for example, including
> its markupId). Currently component headers are rendered just once per
> component class on page rendering, and then once more each time an instance
> of the component is ajax re-rendered.
>
> What do you think about this? Am I completely missing the point?
>
> Cheers,
> Carlos
>
> On 7/31/07, Gwyn Evans <[EMAIL PROTECTED]> wrote:
> >
> > On Tuesday, July 31, 2007, 7:30:34 AM, Carlos <[EMAIL PROTECTED]>
> > wrote:
> >
> > > I have a component that contributes some javascript to the header.
> > Initially
> > > the component won't be shown but an ajax event could make it visible.
> > The
> > > problem is that the javascript is contributed later, during the ajax
> > > response, and there is a security concern with firefox: "permission
> > denied
> > > to call method XMLHttpRequest.open". This is because I'm trying to
> > include
> > > an external script (simply <script src="http://....";>) that would
> > normally
> > > be included with no complaints when the page is initially loaded. I
> > don't
> > > know how to override this default behavior. I guess the code that
> > controls
> > > this head rendering logic for visible/hidden components is that of
> > > HtmlHeaderContainer. Any ideas?
> >
> > Would it work if you were to split your component into two
> > sub-components with the UI part being initially invisible, but the JS
> > not being so, and thus contributing?
> >
> > /Gwyn
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to