będę ilustrate moje pytanie na przykładzie:Dołącz pliki JS w pliku XHTML, która została uwzględniona przy użyciu ui: include
outerfile.xhtml:
<h:head>
<h:outputScript library="js" name="jquery-1.6.2.js" />
<h:outputScript library="js" name="outer.js" />
</h:head>
<h:body>
<h:panelGroup id="inner_panel">
<ui:include src="innerfile.xhtml" />
</h:panelGroup>
</h:body>
innerfile.xhtml:
<ui:composition ... >
<h:head>
<h:outputScript library="js" name="jquery-1.6.2.js" />
<h:outputScript library="js" name="inner.js" />
</h:head>
<h:body>
<h:panelGroup>
I Am Text in The Inner File!
</h:panelGroup>
</h:body>
</ui:composition>
Moje pytania:
- Czy można anulować Czy pliki wewnętrzne w pliku wewnętrznym znajdują się tak samo jak ja?
- Czy muszę (i powinienem) zadeklarować wspólny (
jquery-1.6.2.js
) ponownie w wewnętrznym pliku? - Co się stanie, jeśli wyłączysz renderowanie i ponownie wygeneruje
inner_panel
używając AJAX? Czy przeładowane zostaną wewnętrzne nagłówki?
Tnx. Małe śledzenie - zgodnie z twoją odpowiedzią, jeśli załaduję stronę, gdy ta strona wewnętrzna nie zostanie wyrenderowana, a następnie wyrenderuję stronę wewnętrzną, wewnętrzne pliki js zostaną utracone. Dobrze? – Ben
Nie powiedziałem tego. Zostaną uwzględnione. Przeglądarka zostanie poinformowana, aby je załadować. Ale to, czy zostało uzyskane z pamięci podręcznej przeglądarki, czy bezpośrednio z serwera, zależy od nagłówków odpowiedzi JS i czy jest już w pamięci podręcznej przeglądarki, czy nie. Jeśli jest buforowany i obecny w pamięci podręcznej przeglądarki, to nie zostanie ponownie załadowany (ponieważ przeglądarka już go posiada). W przeciwnym razie zostanie on ponownie załadowany z serwera. – BalusC
Widzę twoją sprawę, wyjaśniłem część ponownego renderowania. – BalusC