이 내 페이지의 부분적으로 다시 쓰게 지역에 richfaces/Ajax4jsf를를 사용, 여기에 옷을 벗었 예제 :다시 렌더링 된 영역에서 스크립트를 다시 실행하는 방법은 무엇입니까?
<a4j:commandButton value="..." reRender="infoBlock" action="#{...}"/>
<h:panelGrid id="infoBlock">
<h:outputText value="..."/>
<f:verbatim>
<script type="text/javascript">
console.log('test')
</script>
</f:verbatim>
</h:panelGrid>
infoBlock가 다시 렌더링 할 때 내 문제는, 스크립트 console.log('test')
가 재실행되지 않습니다됩니다.
그런데 스크립트 태그를 제거하고 oncomplete="console.log('test')"
을 사용할 수 있다는 것을 알고 있습니다. 그러나 실제 응용 프로그램에서 스크립트는 사용하는 구성 요소에 의해 렌더링되는 것이 더 복잡하므로이 변경은 매우 까다로운 작업 일 수 있습니다.
내 질문은 : 다시 렌더링 된 영역에서 스크립트를 다시 실행하는 방법은 무엇입니까?
다시 시도했으나 콘솔 로그가 없으며 경고가 작동하지 않습니다. 하지만 이전 버전의 Ajax4jsf : 1.0.6을 사용하고 있습니다. 어쩌면 그게 문제 야? 그들은 새로운 릴리스/부자의 얼굴에서 이것을 바꾸 었는가? –
RichFaces 3.3으로 업데이트하면 잘 작동합니다! –