使用javascript在Safari中出现问题 [英] Issue in Safari with javascript

查看:113
本文介绍了使用javascript在Safari中出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

// alternative to DOMContentLoaded
        document.onreadystatechange = function () {
            if (document.readyState == "complete") {
                //lastAddedLiveFunc();
            }
        }
        window.onscroll = function () {
            var wintop = getScrollY(), docheight = document.body.clientHeight, winheight = document.documentElement.clientHeight;
//            document.getElementById("scrollTop").value = wintop;
//            document.getElementById("docheight").value = docheight;
//            document.getElementById("winheight").value = winheight;
            //scroll base
            var scrolltrigger = 0.95;
            if ((wintop / (docheight - winheight)) > scrolltrigger) { ntAjax.lastAddedLiveFunc(); }
        }
        window.getScrollY = function () {
            var scrOfY = 0;
            if (typeof (window.pageYOffset) == 'number') {
                //Netscape compliant
                scrOfY = window.pageYOffset;
            } else if (document.body && document.body.scrollTop) {
                //DOM compliant
                scrOfY = document.body.scrollTop;
            } else if (document.documentElement && document.documentElement.scrollTop) {
                //IE6 standards compliant mode
                scrOfY = document.documentElement.scrollTop;
            }
            return scrOfY;
        }
        var ntAjax = {
            lastAddedLiveFunc: function () {
                var oReq = this.getXMLHttpRequest();
                if (oReq != null) {
                    document.getElementById("lastPostsLoader").innerHTML = '<img src="http://www.jquery4u.com/demos/infinite-scrolling-demo5/bigLoader.gif">';
                    oReq.onreadystatechange = this.reqListener;
                    oReq.open("get", "contentpage.aspx", true);
                    oReq.send();
                }
            },
            reqListener: function () {
                //complete
                if (this.readyState == 4) {
                    if (this.status == 200) {
                        var data = this.responseText;
                        var bsa = document.createElement('li');
                        bsa.innerHTML = data;
                        document.getElementById("ulItems").insertBefore(bsa, document.getElementById("ulItems").lastChild)
                        document.getElementById('lastPostsLoader').innerHTML = '';
                    }
                }
            },
            getXMLHttpRequest: function () {
                if (window.XMLHttpRequest) { return new window.XMLHttpRequest; }
                else {
                    try { return new ActiveXObject("Microsoft.XMLHTTP"); }
                    catch (ex) { return null; }
                }
            }
        };


        <ul id="ul1" class="items">
            <li>
                <h4 class="itemtitle">
                    Header
                </h4>
                <div class="itemcontent" name="decodeable">
                    Text</div>
            </li>
            <li>
                <h4 class="itemtitle">
                    Header
                </h4>
                <div class="itemcontent" name="decodeable">
                    Text</div>
            </li>
        </ul>
        <div id="lastPostsLoader">
        </div>

推荐答案

问题是什么?



Javascript取决于用于测试的浏览器和页面的doctype。



这里是兼容性页面的链接: http://kangax.github.io/es5-compat-table/ [ ^ ]


这篇关于使用javascript在Safari中出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆