2010-01-21 6 views
1

을 누르면 = "_ 빈"목표 CommandLink는 이후 크롬에 '동결'된다은 JSF 코드 :페이지가 여기에

<h:commandLink id="previewlink" value="#{msg['report.preview']}" target="_blanc"> 
    <f:param name="printpreview" value="#{previewTitle}"/> 
</h:commandLink> 

나는 새 페이지가 새 탭에서 열립니다 미세하지만 부모 작동되는 링크를 누르면 페이지가 차단됩니다 (즉, 명령 링크가 작동하지 않음). 파이어 폭스에서는 두 페이지에서 모두 잘 작동합니다.

제안 사항?

UPD : IMG의 소스가

alt text http://img402.imageshack.us/img402/2127/source.png

+2

당신이 실제 HTML 결과를 보여줄 수 :

전체 생성 된 HTML 소스

길 (약간 포맷)에 의해인가? 그 표적의 오타가 '블랭크'인가? 링크가 실제로 실행되고 있지만 화면에 이미있는 다른 문서에있을 수 있습니까? –

+0

블랭크 또는 빈칸? –

+0

@ Thorbjørn Ravn Andersen : 실제 문제를 지적했으면 좋겠지 만 불필요하게 도움이되지 않았다면 – Roman

답변

0

대상 = ""속성이 프레임에 사용되는 (크롬 텍스트 버전을 찾을 수 없습니다) 전용 또는 HTML로 4.01

유명한 있습니다 이 분야에서 구글 크롬 문제.

더 나은 브라우저 간 호환성을 제공하려면 javascript - jQuery를 사용해 보시기 바랍니다.

1

생성 된 JavaScript 함수를 살펴보면 Sun Mojarra를 JSF 구현으로 사용하고 있습니다 (나중에 더 자세히 설명하면 Apache MyFaces도 사용할 수 있음). 요청이 빈을 범위에 더미 액션 메소드와 함께 ...

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> 
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<f:view> 
    <html> 
     <head> 
      <title>SO question 2111438</title> 
     </head> 
     <body> 
      <h:form id="form"> 
       <h:commandLink id="link" value="link" action="#{bean.action}" target="_blank"> 
        <f:param name="paramname" value="paramvalue" /> 
       </h:commandLink> 
      </h:form> 
     </body> 
    </html> 
</f:view> 

하고 그냥 크롬 3.0.195.38에 완벽하게 작동합니다 :

난 그냥 인 Mojarra 1.2_14와 톰캣 6.0.20에서 다음 SSCCE 시도 .

그러나 Safari의 비슷한 JavaScript 문제는 ​​Mojarra 1.2_08에서 수정되었습니다. 최신 Mojarra 버전을 사용하고 있는지 확인하십시오. main dev site에서 확인할 수 있습니다. 희망이 도움이됩니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html> 
    <head> 
     <title>SO question 2111438</title> 
    </head> 
    <body> 
     <form id="form" name="form" method="post" action="/playground/test.jsf" enctype="application/x-www-form-urlencoded"> 
      <input type="hidden" name="form" value="form" /> 
      <script type="text/javascript" language="Javascript">function dpf(f) {var adp = f.adp;if (adp != null) {for (var i = 0;i < adp.length;i++) {f.removeChild(adp[i]);}}};function apf(f, pvp) {var adp = new Array();f.adp = adp;var i = 0;for (k in pvp) {var p = document.createElement("input");p.type = "hidden";p.name = k;p.value = pvp[k];f.appendChild(p);adp[i++] = p;}};function jsfcljs(f, pvp, t) {apf(f, pvp);var ft = f.target;if (t) {f.target = t;}f.submit();f.target = ft;dpf(f);};</script> 
      <a id="form:link" href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('form'),{'form:link':'form:link','paramname':'paramvalue'},'_blank');}return false">link</a><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id8:j_id9" /> 
     </form> 
    </body> 
</html> 
+0

관심을 가져 주셔서 감사합니다. 또한 며칠 내에이 문제를 탐구하고 결과에 대해 작성하려고 노력할 것입니다. – Roman