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: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to