【发布时间】:2012-04-29 18:17:35
【问题描述】:
我像这样实现了无限滚动:
new_page_value = 1;
$(window).scroll(function() {
if($(window).scrollTop() >= $(document).height() - $(window).height() - 200) {
new_page_value = parseInt(new_page_value) + 1;
get_page(new_page_value);
}
});
当用户几乎到达页面底部(左200px)时,函数get_page()被调用。这包含一个 ajax 调用,该调用获取新页面的所有内容并将其追加到文档的<body>。
现在我刚刚意识到,如果我的网站变得很大,而不是只有 10 个小页面,而是拥有数以亿计的巨型页面,那么如果用户的浏览器足够持久以保持长时间无限滚动,那么用户的浏览器可能会崩溃。
这是解决这个问题的可能方法吗:
我将继续将新页面附加到文档<body> 直到第 10 页,之后我将完全替换 <body> 内容而不是附加内容。所以使用html() 而不是append()。
我只是不知道这是否真的可以防止崩溃。 .html() 会清除通过 ajax 引入的先前 html 的“内存”吗?
【问题讨论】:
标签: javascript jquery browser crash