tôi sẽ ilustrate câu hỏi của tôi sử dụng một ví dụ:Bao gồm các file JS trong một file xhtml được bao gồm sử dụng ui: bao gồm
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>
Câu hỏi của tôi:
- Có ổn không lia
js
tệp trong tệp bên trong theo cách tôi đã làm? - Tôi có cần (và tôi có nên) khai báo chung (
jquery-1.6.2.js
) một lần nữa trong tệp bên trong không? - Điều gì sẽ xảy ra nếu tôi hủy kết xuất và hiển thị lại
inner_panel
bằng AJAX? Các tiêu đề được bao gồm bên trong có được tải lại không?
Tnx. Theo dõi nhỏ - theo câu trả lời của bạn, nếu tôi tải trang khi te trang bên trong không được hiển thị và sau đó hiển thị trang bên trong, các tệp js bên trong sẽ bị thiếu. Đúng? – Ben
Tôi không nói vậy. Họ sẽ được bao gồm. Trình duyệt sẽ được yêu cầu tải chúng. Nhưng cho dù nó được lấy từ bộ nhớ cache của trình duyệt hoặc trực tiếp từ máy chủ phụ thuộc vào các tiêu đề trên phản hồi JS và nếu nó đã có trong bộ nhớ cache của trình duyệt hay chưa. Nếu nó có thể lưu vào bộ nhớ cache và có trong bộ nhớ cache của trình duyệt, thì nó sẽ không được tải lại (vì trình duyệt đã có nó). Nếu không, nó thực sự sẽ được tải lại từ máy chủ. – BalusC
Tôi thấy quan điểm của bạn, tôi làm rõ phần tái kết xuất. – BalusC