Opera Mini Jquery AJAX无法加载

时间:2014-11-28 10:08:59

标签: javascript jquery mobile opera opera-mini

我一直在开发移动设备网站。但是由于某些原因,AJAX调用不适用于Opera Mini。例如 - 一个这样的请求,用于在页面末尾加载更多内容(70%)

$(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;
        });
    }
});

它可以在任何地方,桌面,UC浏览器,Android浏览器等上运行,但不适用于Opera Mini。

如果AJAX是以不同的方式为Opera Mini编写的,请提供帮助。我一直在阅读很多关于Opera Mini在浏览器上呈现页面的方式。我的用户群几乎有50%的歌剧用户,这对我来说是个大问题。感谢。

2 个答案:

答案 0 :(得分:3)

Opera Mini中没有scroll事件。

Opera Mini的

Unsupported DOM events

  • contextmenu
  • dblclick
  • 错误
  • keydown
  • keypress
  • keyup
  • mousemove
  • 的mouseenter
  • 鼠标离开
  • 鼠标移开
  • mousewheel
  • 调整大小
  • 滚动
  • touchcancel
  • touchend
  • touchmove
  • touchstart

了解更多how Opera Mini works

答案 1 :(得分:0)

作为scroll事件不支持opera mini使用按钮加载更多并将onClick事件添加到该按钮,opera mini支持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;
        });
}
相关问题