この問題は私を夢中にさせています。Vaadin 7 RC2 アプリケーションを Google アナリティクスで追跡できるようにしようとしたところ、水に沈んでしまったようです。
次のスクリプトが確実に実行されることを確認しました。
public void init(VaadinRequest request) {
WebApplication.getInstance().logout();
flowControllerContextLoader.load(ApplicationContextLocator.getApplicationContext());
eventProcessor.init(ApplicationContextLocator.getWebFlowConfiguration());
eventProcessor.run(flowController);
applicationLayout.setCaption(Translations.APPLICATION_NAME);
setContent(applicationLayout.getView());
getPage().setTitle(messageSource.getMessage(Translations.APPLICATION_NAME));
JavaScript.getCurrent().execute(
"var _gaq = _gaq || [];\n" +
" _gaq.push(['_setDomainName', 'platform.lexaden.com']);\n" +
" _gaq.push(['_setAccount', 'ACCOUNT_INFO']);\n" +
" _gaq.push(['_trackPageview']);\n" +
"\n" +
" (function() {\n" +
" var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n" +
" ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n" +
" var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n" +
" })();\n");
}
しかし、グーグルアナリティクスは何も示していません。誰か助けてくれませんか?
うまくいけば、それは機能し始めました。キャッシュをクリーンアップし、アプリケーションをもう一度再コンパイルし、すべてのウィジェットを Vaadin 7 RC2 で再起動してサーバーを再起動しました。何が問題なのかはまだわかりません。おそらく、Vaadin 6 と Vaadin 7 アプリケーションの間のキャッシュのどこかで競合が発生しています。