2014-11-22 5 views
2

나는 항상 올바르게 작동 한 2011 년 이전 코드가 있습니다. Chrome 39까지입니다. 진단을 위해 잠시 머리를 다 치기 시작한 후 IE, Firefox 및 Chrome < = 버전 38에서 정상적으로 작동하는 것으로 확인되었습니다. Chrome 버전 39부터는 빈 페이지 만 표시됩니다.크롬 39 XML/XSLT 렌더링 빈 페이지

페이지를 올바르게 렌더링 할 수없는 xsl/xslt 또는 xml 처리 방식이 변경된 것처럼 보입니다.

Chrome을 변경 한 이유는 무엇입니까? 모든 수정 또는 해결 방법?

감사합니다.

예 :

http://redemption.armory DOT eternal-wow.com 슬래시 분야 - ladder.xml의 TS = 2 & B = 영원한 - 와우 % 21 http://eternal-wow.com

+0

첫 번째 링크는 404 오류입니다. 링크를 사용하지 않고 다른 사람들이 도움을받을 수 있도록 여기에 코드 스 니펫을 게시해야합니다. 이 안내서를 참조하십시오 : http://stackoverflow.com/help/how-to-ask –

+0

그것은 404가 아닙니다. 잘 작동합니다. 문제가 어디에 놓여 있는지 모르기 때문에 붙여 넣기에는 너무 많은 코드가 있습니다. – Derek

+0

아니요 - 나에게는 적합하지 않습니다. http://redemption.armory.eternal-wow.com/login.xml?ref=character-select.xml에 404 오류가 있습니다 –

답변

1
링크가 파이어 폭스에서 작동

하지만 결과 빈에서 Chrome 페이지 webdev 도구를 사용하여 Chrome에서 xsl 파일을 Firefox와 같은 다른 URL에서로드한다는 사실을 확인했습니다. ../_layout/language.xsl (ok) 대신 .._layout/arena/language.xsl (404)입니다. 크롬에서 또한 나는 오류 메시지 "자원이 스타일 시트로 해석하지만,/XSLT + XML MIME 타입 응용 프로그램과 함께 전송"얻을. http://redemption.armory.eternal-wow.com/_layout/arena/ladder.xsl "을
는이 문제에 대한 확인 Chrome says: Resource interpreted as Stylesheet but transferred with MIME type application/xml

가장 큰 문제가 될 것 같습니다 misinterpred xsl:import 및 크롬/웹킷 버그 것 같다 xsl:include 문 - 참조 예 https://code.google.com/p/chromium/issues/detail?id=8441 또는 "XSL 가져 오기 상대 경로 크롬"에 대한 구글 ladder.xsl 작품의 첫 번째 가져 오기 :.. <xsl:import href="../includes.xsl" /> (../_layout/includes.xsl에서로드)을 includes.xsl<xsl:import href="language.xsl"/> 크롬에 실패 - ../_layout/language.xsl 대신 ../_layout/arena/language.xsl으로 해결됩니다. xsl:includes에도 동일하게 적용됩니다. 예를 들어 language.xsl -. <xsl:include href="nav/menu.xsl" />../_layout/nav/menu.xsl 대신 ../_layout/arena/nav/menu.xsl을 포함하려고합니다.
Chrome 버그 인 것 같습니다. xsl 파일을 Chrome이 찾고있는 위치로 복사하거나 Chrome이 기본 위치를 기반으로 해석하기 때문에 포함/가져 오기 경로를 조정하려고 할 수 있습니다. 템플릿 - "../includes.xsl"includes.xsl의 경기장 디렉토리에 ladder.xsl하지만 <xsl:import href="language.xsl"/>에서 가져 오기로 일하고 크롬을 위해 작동 할 수 <xsl:import href="../language.xsl"/>에 변화의 language.xsl를 기준으로하지만, ladder.xsl에 대신 상대적으로 해결되지 않는 (하지만 어쩌면 작동하지 않습니다 다른 브라우저에서는 권장하지 않습니다.) 두 가지 제안 - 가져 오기/포함을 두 배로하거나 현재 가져 오기/포함을 유지하고 ladder.xsl에 상대적인 경로로 각 항목을 추가하거나 더 깨끗한 솔루션 인 경우 모든 가져 오기를 포함하고 포함 할 수 있는지 확인합니다. ladder.xsl을 수정하고 그에 따라 경로를 조정하십시오.

+0

당신은 절대적으로 맞습니다. 처음에는 문제 해결을 위해 심볼릭 링크를 시도했지만 작동하지 않았습니다. 그래서 모든 포함 된 파일을 상대 경로가 아닌 절대 경로로 변경 했으므로 문제가 해결됩니다. 그것은 일종의 더러운 수정이며 전체 사이트에 영향을 미치기 위해 수백 가지 변경이 필요할 것입니다. .htaccess 또는 다른 것을 사용하는 것이 더 나은 접근 방법이라고 확신합니다.하지만 확실하지 않습니다. – Derek

+0

다른 브라우저에서는 문제가되지 않습니다. 그건 전혀 작동하지 않습니다. – Derek

+0

다시 symlink를 시도해 보았습니다. 모든 링크를 얻으면 실제로 작동합니다. 그것은 단지 매우 혼란스럽고 나를 미치게합니다. – Derek