2015-03-17 1 views

ответ

4

Наконец-то я нашел решение! Кто-то в форуме ZK дает следующие возможные решения:

http://forum.zkoss.org/question/96845/using-zk-5-how-to-add-a-script-into-the-head-tag-from-java/

«Я знаю два способа для этого:

1.Put в declarartion из файла JavaScript в Ланг-addon.xml

Ланг-addon.xml

<?xml version="1.0" encoding="UTF-8"?> 

<language-addon> 

. . . 

<!-- 4. Path to Bootstrap javascript library --> 
<javascript src="~./cyborg/less/bootstrap/js/bootstrap.min.js" type="text/javascript" charset="UTF-8" /> 

</language-addon> 

2. Добавьте человек UAL в Java-код:

if (view instanceof Window) { 

     Window win = (Window) view; 
     PageCtrl pc = (PageCtrl) win.getPage(); 
     pc.addBeforeHeadTags("<script type=\"text/javascript\">" + "(function(i,s,o,g,r,a,m)" 
       + "{i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){" 
       + "(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();" + "a=s.createElement(o)," 
       + "m=s.getElementsByTagName(o)[0];" + "a.async=1;a.src=g;m.parentNode.insertBefore(a,m)" + "})" 
       + "(window,document,'script','//www.google-analytics.com/analytics.js','ga');" + "ga('create', " 
       + this.trackingID + ", 'auto'); " + "ga('send', 'pageview');" + "</script>"); 

    } else { 
     throw new UiException("This view model must be applied from a Window component."); 
    } 

из апи:

void org.zkoss.zk.ui.sys.PageCtrl.addBeforeHeadTags(String tags) 

Добавляет теги, которые будут генерироваться внутри головного элемента и перед тегами ZK по умолчанию. Например,

((PageCtrl)page).addBeforeHeadTags(""); 

"