2017-02-17 1 views
0

웹 앱에서 UI5 라이브러리 버전 1.36.12를 사용하고 있지만 크롬 업데이트로 인해 IconTabBar와 같은 일부 컨트롤이 포인터 이벤트로 인해 제대로 작동하지 않습니다. 최신 버전의 Chrome에서는 기본적으로 사용 중지되지 않습니다.최신 버전으로 업그레이드하지 않고 Chrome 55+에서 포인터 이벤트 문제를 해결하는 방법

이 문제의 한 가지 해결책은 버전 1.38.14로 업그레이드하는 것입니다. 그러나 우리는 계획이 빡빡해서 실행 중이며 라이브러리를 업데이트하면 많은 변경 작업을 수행해야합니다.

내가 시도한 한 가지 해결책은 현재 라이브러리 jar 파일의 sap.ui.core.js 파일에 fix을 추가하는 것입니다. 하지만 여전히 작동하지 않습니다. sap.ui.core.js 파일을 다시 만들어야합니까? 그렇다면 어떻게해야합니까?

크롬에서 기능을 수동으로 비활성화하려면 chrome://flags/#enable-pointer-events을 통해 클라이언트가 승인하지 않으므로 제안하지 마십시오. 라이브러리을 업그레이드하지 않고이 문제를 해결할 수있는 방법을 제안하십시오 ().

+0

관련 문제 GitHub 관련 문제 : https://github.com/SAP/openui5/issues/1265#issuecomment-268245606 – boghyon

답변

0

현재 UI5 버전에서는 미리 자신의 Device 객체를로드 할 수 있으며 UI5가이를 사용합니다. 나는이 버전이 귀하의 버전에서도 작동한다고 가정합니다.

업데이트 : 나중에 값을 재설정하라는 제안은 부트 스트랩 메커니즘에서 사용되므로 제대로 작동하지 않습니다. 그러므로 나는 이것을 제거했다. 당신이 UI5 스크립트 태그를 추가하고 다음을 수행 부트 스트랩 전에

:이 경우 포인터 지원에서

if (/chrome/i.test(navigator.userAgent)) { 
    delete window.PointerEvent; 
} 

false로 설정 그리고 마지막 리조트는 GitHubcodeworrior에 의해 언급 된 접근 방법을 사용하는 것입니다.

+0

안녕하세요 @matbtt, 제안 주셔서 감사하지만 그것이 작동하지 않을 때 나는 init 이벤트에서 값을 무시하려고합니다. . 이 문제를 해결할 다른 방법이 있습니까 –

+0

작동하지 않는지 확인했습니다. window.PointerEvent를 삭제하는 방법을 시도해보십시오. – matbtt

+0

@matbtt에게 감사드립니다. –