我們正在編寫一個AJAX沉重的Wicket應用程序,並通過renderHead()
提供CSS的面板。但是,當通過AJAX替換面板時 - 比如說,通過AjaxTabbedPanel
,舊面板的頭文件保留並污染應用程序的其餘部分。除了響應膨脹之外,當CSS聲明過於通用時會導致問題,從而導致在應用程序的其他區域出現問題。Wicket - 刪除過時的頭文件/ AJAX面板替換
有沒有辦法解決這個問題?例如,當面板已被替換/不再可見時,重新創建IHeaderReponse
的機制?
對於它的價值,我們的頭貢獻者的一個例子是:
@Override
public void renderHead(IHeaderResponse response) {
response.renderCSSReference(new SharedResourceReference(SearchMainPanel.class, "Search.css"));
}
我們正在使用的Wicket 1.5.3。
我曾與這在小組<body>
標記呈現一個<link rel="stylesheet" ... />
(即不使用頭貢獻者)的自定義標籤的成功,但是IE8拒絕承認這個CSS的存在 - 因此不得不重新思考我們的戰略。
不知道這是否會攜手,也許你可以將這些貢獻移動到「行爲」並覆蓋['isTemporary'](ht tp://wicket.apache.org/apidocs/1.5/org/apache/wicket/behavior/Behavior.html#isTemporary%28org.apache.wicket.Component%29)在其上返回true。 –