Включайте javascript для составного компонента только один раз на страницу, несмотря на то, что сами составные компоненты используются несколько раз.

Как включить код JavaScript только один раз для многократного использования составного компонента на странице?

Первоначально я поместил JS-код внутри тегов cc:implementation, но это привело к тому, что скрипт каждый раз включался вместе с компонентами. Я хочу избежать этого условия и включать JavaScript только один раз, даже если компонент использовался на странице несколько раз.


person Rajat Gupta    schedule 12.09.2011    source источник


Ответы (1)


Включите статическую часть этого кода JS в виде отдельного файла JS с помощью <h:outputScript> с target="head". Он будет преобразован в <h:head> только один раз.

<cc:implementation>
    <h:outputScript name="js/myCompositeHelper.js" target="head" />
    ...
</cc:implementation>
person BalusC    schedule 12.09.2011
comment
Здесь что-то изменилось? Я использовал ‹h:outputScript target=head›, чтобы включить Leaflet и GoogleMutant for Leaflet внутрь компонента. Консоль веб-браузера сообщает, что вы несколько раз включили API Карт Google на этой странице. Это может привести к непредвиденным ошибкам. - person Felix; 23.03.2018