Thanks for the reply. I'd rather keep the script in my markup if possible. Is there any way to do this so that I don't have to output the entire Javascript block from my Java code?
Thanks. Neil. On Mon, Jun 22, 2009 at 6:24 AM, Igor Vaynberg<[email protected]> wrote: > output the entire javascript block as a string using new > label().setescapemodelstrings(false) > > -igor > > On Sun, Jun 21, 2009 at 11:18 AM, Neil Ferguson<[email protected]> wrote: >> Hi all. >> >> I'm trying to set a string literal in some Javascript, in order to try >> and pass a page URL to Google Analytics. I've tried creating a panel >> with the following markup, and putting it just before the end of my >> body tag: >> >> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> >> <html xmlns="http://www.w3.org/1999/xhtml" >> xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" >>> >> <body> >> <wicket:panel> >> <script type="text/javascript"> >> var gaJsHost = (("https:" == >> document.location.protocol) ? >> "https://ssl." : "http://www."); >> document.write(unescape("%3Cscript src='" + >> gaJsHost + >> "google-analytics.com/ga.js' >> type='text/javascript'%3E%3C/script%3E")); >> </script> >> <script type="text/javascript"> >> try { >> var pageTracker = >> _gat._getTracker("TRACKINGID"); >> pageTracker._trackPageview('<span >> wicket:id="analyticspagename"></span>'); >> } catch(err) {} >> </script> >> </wicket:panel> >> </body> >> </html> >> >> As you can see, I'm trying to set the parameter of the _trackPageview >> method (or function, whatever it's called in Javascript). I've tried >> doing this using a span tag, as you can see, but it doesn't work, and >> I get the following message: >> >> "WicketMessage: The component(s) below failed to render. A common >> problem is that you have added a component in code but forgot to >> reference it in the markup (thus the component will never be >> rendered)." >> >> The Java code for my panel looks like the following: >> >> public class FooterPanel extends Panel { >> >> private static final long serialVersionUID = 9196070061210793618L; >> >> public FooterPanel(String id, String analyticsPagename) { >> super(id); >> Label label = new Label("analyticspagename", >> analyticsPagename); >> label.setRenderBodyOnly(true); >> add(label); >> } >> >> } >> >> I didn't really expect this to work, but I can't think of a better >> way. I'm sure that I'm missing something really obvious here, so can >> anyone help? >> >> BTW, I'm really enjoying using Wicket. I have a severe allergy to XML, >> so it's brilliant. >> >> Thanks. >> >> Neil. >> >> --------------------------------------------------------------------- >> 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
