« Return to Thread: Trying to add string literal to Javascript for Google Analytics

Trying to add string literal to Javascript for Google Analytics

by Neil Ferguson-2 :: Rate this Message:

Reply to Author | View in Thread

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-unsubscribe@...
For additional commands, e-mail: users-help@...

 « Return to Thread: Trying to add string literal to Javascript for Google Analytics