2014-11-28 3 views
2

모바일 장치 용 웹 사이트를 개발하고 있습니다. 그러나 몇 가지 이유로 AJAX 호출은 Opera Mini에서 작동하지 않습니다. 오페라 미니를 UC 브라우저, 안드로이드 브라우저 등에서, 바탕 화면, 페이지 (70 %)Opera Mini Jquery AJAX 로딩하지 않습니다.

$(document).scroll(function (e) { 
    if (processing) return false; 
    if ($(window).scrollTop() >= ($(document).height() - $(window).height()) * 0.7) { 
     processing = true; 
     $.ajax({ 
      type: "GET", 
      url: "/ajax/popup-loadmore-test.php", 
      data: { 
       entityid: $("#e").attr("data-id"), 
       version: version 
      } 
     }).done(function (msg) { 
      console.log("Data emitted: " + msg); 
      $('#f').append(msg); 
      version++; 
      processing = false; 
     }); 
    } 
}); 

그것은 모든 곳에서 노력의 끝 부분에 더 많은 콘텐츠를로드 할 수 있지만 하나 개의 같은 요청 - 예를 들어.

AJAX가 Opera Mini 용으로 다른 방법으로 작성된 경우 도움주세요. Opera Mini가 브라우저에서 페이지를 렌더링하는 방식에 대해 많이 읽었습니다. 내 사용자층은 거의 50 %의 오페라 사용자를 가지고 있으므로 큰 문제가됩니다. 감사.

답변

3

Opera Mini에는 scroll 이벤트가 없습니다. 오페라 미니에 대한

Unsupported DOM events

:

  • 의 ContextMenu
  • dblclick
  • 오류
  • 를 keyDown
  • 키를 누를 때
  • 의 keyup
  • MouseMove 이벤트
  • 하는 MouseLeave
  • 가로 마우스 mouseenter
  • 마우스 휠
  • 크기를 조정
  • 스크롤
  • touchcancel
  • touchend
  • 하는 TouchMove
  • touchstart

자세히 알아보기 how Opera Mini works. 더 그 버튼에 onClick 이벤트를 추가 부하로 오페라 미니를 사용 버튼을 지원하지 않는

0

이벤트 scroll로, 오페라 미니는 onClick 이벤트를 지원

<div id="loadmore" onClick="loadmore()">More</div> 

function loadmore() 
{ 
    $.ajax({ 
      type: "GET", 
      url: "/ajax/popup-loadmore-test.php", 
      data: { 
       entityid: $("#e").attr("data-id"), 
       version: version 
      } 
     }).done(function (msg) { 
      console.log("Data emitted: " + msg); 
      $('#f').append(msg); 
      version++; 
      processing = false; 
     }); 
}