본문 바로가기
팁에 대한 고찰

owncloud 앱 중에 menu_on_top 설치 후 기능 오류 해결

by 로젠크로와싱 2014. 3. 6.
반응형

개인용 오픈클라우드 저장소 owncloud의 적지 않은 앱 중 menu_on_top이라는 앱이 있습니다. 이 앱의 기능은 왼쪽 상단의 owncloud 로고를 클릭하면 기존에는 홈으로 가는 기능이지만, 설치 후에는 왼쪽의 Navi(메뉴단)을 팝업시켜주는 역할을 합니다. 

하지만, 스마트폰으로 로고를 터치하면 슬라이드 다운 되었다가 토글이 되어 버리는 바람에 제대로 활용을 하지 못하고 있는데요.

소스를 수정하여 해결을 할 수 있습니다. (추측하자면, 기존 소스 어딘가에 이벤트가 바인딩되어 있는 상태에서 앱 설치로 중복 바인딩이 된거 같습니다.)


 33 $("#navigation").hide(); 

 34 $("#navigation").css("visibility", "visible"); 

 35 $("#owncloud").click(function(e){ 

 36     e.preventDefault(); 

 37     $("#navigation").slideToggle(); 

 38 }); 

 39 

 40 $("#navigation li a").click(function(e){ 

 41     $("#navigation").slideUp(); 

 42 });

/var/www/owncloud/apps/menu_on_top/js/menu_on_top.js 파일을 편집기로 열여서 33,34,37,40,41,42 라인을 주석 처리 합니다. 

36번을 남겨두는 이유는 로고를 클릭하면 홈으로 가는 이벤트를 중단하려고 선언한 부분입니다.

데스크탑에서 동작하지 않더군요. ;;;

 33.  var mobile = false;

 34   var ua = window.navigator.userAgent.toLowerCase();

 35   if ( /iphone/.test(ua) || /android/.test(ua) || /opera/.test(ua) || /bada/.test(ua) ) {

 36     mobile = true;

 37   }

 // 34~37번 추가

 42     if (!mobile) {  // 추가

 43       $("#navigation").slideToggle();

 44     }  // 추가


 56   $("#navigation, #owncloud").mouseleave(function(){ 

 57     if (mobile) { // 추가

 58       $("#navigation").slideUp();

 59     } //추가

 60   });

 // 56~60번 주석 제거


쾌적한 클라우드를 위해!!


반응형