Home 게시판 커뮤니티 Q&A lightBox2 에서의 버그

6개 답변, 2 voices Last updated by Avatar of nicejinnicejin 17 years, 5 months 전
  • Avatar of nicejinnicejin
    Participant
    @nicejin
    #2821

    네, 읽어보니 같은 내용이네요 😉

    Avatar of nicejinnicejin
    Participant
    @nicejin
    #2822

    사진뒤에 백그라운드의 검은색 바탕이 브라우저를 다 덮지를 못합니다.
    FireFox에서는 아무 문제가 없는데 IE에서 자꾸 그러더군요..
    아무리 노력해도 못고치 겠습니다..
    혹시 어떤 문제가 있는지 도움을… 요청 합니다..

    http://www.a2dea.com/?p=94

    Avatar of nicejinnicejin
    Participant
    @nicejin
    #2825

    사진뒤에 백그라운드의 검은색 바탕이 브라우저를 다 덮지를 못합니다.
    FireFox에서는 아무 문제가 없는데 IE에서 자꾸 그러더군요..
    아무리 노력해도 못고치 겠습니다..
    혹시 어떤 문제가 있는지 도움을… 요청 합니다..

    http://www.a2dea.com/?p=94

    Avatar of 082net082net
    Keymaster
    @082net
    #2823

    [[ 게시판 주제에 맞게 질문글을 이동하였습니다. 양해해 주세요 🙂 ]]

    아마도 css 스타일에서 position값이 absolute 인 객체가 있을 때 발생하는 오류인듯 합니다.

    구글에서 검색해 보니 해결방법이 있었습니다.

    lightbox.js 파일을 텍스트 에디터로 열어 getPageSize 함수를 찾습니다.

    function getPageSize(){
       
       var xScroll, yScroll;
       
       if (window.innerHeight && window.scrollMaxY) {   
          xScroll = window.innerWidth + window.scrollMaxX;
          yScroll = window.innerHeight + window.scrollMaxY;
       } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
          xScroll = document.body.scrollWidth;
          yScroll = document.body.scrollHeight;
       } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
          xScroll = document.body.offsetWidth;
          yScroll = document.body.offsetHeight;
       }
       
       var windowWidth, windowHeight;
       
    //   console.log(self.innerWidth);
    //   console.log(document.documentElement.clientWidth);

       if (self.innerHeight) {   // all except Explorer
          if(document.documentElement.clientWidth){
             windowWidth = document.documentElement.clientWidth;
          } else {
             windowWidth = self.innerWidth;
          }
          windowHeight = self.innerHeight;
       } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
          windowWidth = document.documentElement.clientWidth;
          windowHeight = document.documentElement.clientHeight;
       } else if (document.body) { // other Explorers
          windowWidth = document.body.clientWidth;
          windowHeight = document.body.clientHeight;
       }   
       
       // for small pages with total height less then height of the viewport
       if(yScroll < windowHeight){
          pageHeight = windowHeight;
       } else {
          pageHeight = yScroll;
       }

    //   console.log("xScroll " + xScroll)
    //   console.log("windowWidth " + windowWidth)

       // for small pages with total width less then width of the viewport
       if(xScroll < windowWidth){   
          pageWidth = xScroll;      
       } else {
          pageWidth = windowWidth;
       }
    //   console.log("pageWidth " + pageWidth)

       arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
       return arrayPageSize;
    }

    이 함수를 아래의 함수로 교체해 주면 됩니다.

    function getPageSize(){
       
       var xScroll, yScroll;
       
       if (window.innerHeight && window.scrollMaxY) {   
          xScroll = window.innerWidth + window.scrollMaxX;
          yScroll = window.innerHeight + window.scrollMaxY;
       } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
          xScroll = document.body.scrollWidth;
          yScroll = document.body.scrollHeight;
       } else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight){ // Explorer 6 strict mode
       xScroll = document.documentElement.scrollWidth;
       yScroll = document.documentElement.scrollHeight;
       } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
          xScroll = document.body.offsetWidth;
          yScroll = document.body.offsetHeight;
       }
       
       var windowWidth, windowHeight;
       
    //   console.log(self.innerWidth);
    //   console.log(document.documentElement.clientWidth);

       if (self.innerHeight) {   // all except Explorer
          if(document.documentElement.clientWidth){
             windowWidth = document.documentElement.clientWidth;
          } else {
             windowWidth = self.innerWidth;
          }
          windowHeight = self.innerHeight;
       } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
          windowWidth = document.documentElement.clientWidth;
          windowHeight = document.documentElement.clientHeight;
       } else if (document.body) { // other Explorers
          windowWidth = document.body.clientWidth;
          windowHeight = document.body.clientHeight;
       }   
       
       // for small pages with total height less then height of the viewport
       if(yScroll < windowHeight){
          pageHeight = windowHeight;
       } else {
          pageHeight = yScroll;
       }

    //   console.log("xScroll " + xScroll)
    //   console.log("windowWidth " + windowWidth)

       // for small pages with total width less then width of the viewport
       if(xScroll < windowWidth){   
          pageWidth = xScroll;      
       } else {
          pageWidth = windowWidth;
       }
    //   console.log("pageWidth " + pageWidth)

       arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
       return arrayPageSize;
    }

    수정된 부분은

       } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
          xScroll = document.body.offsetWidth;
          yScroll = document.body.offsetHeight;
       }

    의 바로 위 두줄이 추가 된 것이므로, 그 부분만 추가해 주셔도 됩니다.

    Avatar of 082net
    Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
    Avatar of 082net082net
    Keymaster
    @082net
    #2826

    [[ 게시판 주제에 맞게 질문글을 이동하였습니다. 양해해 주세요 🙂 ]]

    아마도 css 스타일에서 position값이 absolute 인 객체가 있을 때 발생하는 오류인듯 합니다.

    구글에서 검색해 보니 해결방법이 있었습니다.

    lightbox.js 파일을 텍스트 에디터로 열어 getPageSize 함수를 찾습니다.

    function getPageSize(){
       
       var xScroll, yScroll;
       
       if (window.innerHeight && window.scrollMaxY) {   
          xScroll = window.innerWidth + window.scrollMaxX;
          yScroll = window.innerHeight + window.scrollMaxY;
       } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
          xScroll = document.body.scrollWidth;
          yScroll = document.body.scrollHeight;
       } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
          xScroll = document.body.offsetWidth;
          yScroll = document.body.offsetHeight;
       }
       
       var windowWidth, windowHeight;
       
    //   console.log(self.innerWidth);
    //   console.log(document.documentElement.clientWidth);

       if (self.innerHeight) {   // all except Explorer
          if(document.documentElement.clientWidth){
             windowWidth = document.documentElement.clientWidth;
          } else {
             windowWidth = self.innerWidth;
          }
          windowHeight = self.innerHeight;
       } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
          windowWidth = document.documentElement.clientWidth;
          windowHeight = document.documentElement.clientHeight;
       } else if (document.body) { // other Explorers
          windowWidth = document.body.clientWidth;
          windowHeight = document.body.clientHeight;
       }   
       
       // for small pages with total height less then height of the viewport
       if(yScroll < windowHeight){
          pageHeight = windowHeight;
       } else {
          pageHeight = yScroll;
       }

    //   console.log("xScroll " + xScroll)
    //   console.log("windowWidth " + windowWidth)

       // for small pages with total width less then width of the viewport
       if(xScroll < windowWidth){   
          pageWidth = xScroll;      
       } else {
          pageWidth = windowWidth;
       }
    //   console.log("pageWidth " + pageWidth)

       arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
       return arrayPageSize;
    }

    이 함수를 아래의 함수로 교체해 주면 됩니다.

    function getPageSize(){
       
       var xScroll, yScroll;
       
       if (window.innerHeight && window.scrollMaxY) {   
          xScroll = window.innerWidth + window.scrollMaxX;
          yScroll = window.innerHeight + window.scrollMaxY;
       } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
          xScroll = document.body.scrollWidth;
          yScroll = document.body.scrollHeight;
       } else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight){ // Explorer 6 strict mode
       xScroll = document.documentElement.scrollWidth;
       yScroll = document.documentElement.scrollHeight;
       } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
          xScroll = document.body.offsetWidth;
          yScroll = document.body.offsetHeight;
       }
       
       var windowWidth, windowHeight;
       
    //   console.log(self.innerWidth);
    //   console.log(document.documentElement.clientWidth);

       if (self.innerHeight) {   // all except Explorer
          if(document.documentElement.clientWidth){
             windowWidth = document.documentElement.clientWidth;
          } else {
             windowWidth = self.innerWidth;
          }
          windowHeight = self.innerHeight;
       } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
          windowWidth = document.documentElement.clientWidth;
          windowHeight = document.documentElement.clientHeight;
       } else if (document.body) { // other Explorers
          windowWidth = document.body.clientWidth;
          windowHeight = document.body.clientHeight;
       }   
       
       // for small pages with total height less then height of the viewport
       if(yScroll < windowHeight){
          pageHeight = windowHeight;
       } else {
          pageHeight = yScroll;
       }

    //   console.log("xScroll " + xScroll)
    //   console.log("windowWidth " + windowWidth)

       // for small pages with total width less then width of the viewport
       if(xScroll < windowWidth){   
          pageWidth = xScroll;      
       } else {
          pageWidth = windowWidth;
       }
    //   console.log("pageWidth " + pageWidth)

       arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
       return arrayPageSize;
    }

    수정된 부분은

       } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
          xScroll = document.body.offsetWidth;
          yScroll = document.body.offsetHeight;
       }

    의 바로 위 두줄이 추가 된 것이므로, 그 부분만 추가해 주셔도 됩니다.

    Avatar of 082net
    Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
    Avatar of nicejinnicejin
    Participant
    @nicejin
    #2824

    감사 합니다..
    저도 겨우 찾아서 고쳤습니다..
    저하고 같은건가요??? 암튼 감사합니다~

    http://www.huddletogether.com/forum/comments.php?DiscussionID=1129&page=1#Item_0

    Avatar of nicejinnicejin
    Participant
    @nicejin
    #2827

    감사 합니다..
    저도 겨우 찾아서 고쳤습니다..
    저하고 같은건가요??? 암튼 감사합니다~

    http://www.huddletogether.com/forum/comments.php?DiscussionID=1129&page=1#Item_0

7 글 보임 - 1에서 7 까지 (총 7 중에서)
  • 답변은 로그인 후 가능합니다.