1

我想知道是否有可能知道用户是否让页面加载,或者他是否从 Chrome 或 Firefox 中单击 X 以阻止它的执行。

我有这个代码:

jQuery(window).load(function () {
if (condition == 1){
...
else
...

如果用户让网站加载到最后,第一个条件将符合。

如果用户强制停止加载,则符合第二个条件。

4

2 回答 2

1

如果用户点击 X 那么这意味着他很可能没有加载 jQuery 库,或者你的代码......

如果您想检查页面是否已完全加载,那么有一个技巧可能会有所帮助......

在页面末尾放置一个 div 并在它准备好时将事件绑定到它

jQuery('.div-trick').load(function () {});

编辑:更多你可以将你的jQuery代码放在页面的末尾......

注意:不要忘记不要用准备好的文档包装你的代码,因为那样它就不会被解雇......

编辑:嗯,我想我的最终解决方案是这样做......

function loadchecker() {
    if($('.div-trick').length<0){
        alert('page is not fully loaded');
    } else {
        alert('now the page is loaded')
    }
}

// fast counter is an over kill but it wills stop when the page is loaded
var checker = window.setInterval(loadchecker, 5);

//then on my documnet ready i will            
$(function(){
     clearInterval(checker);
});

相当肮脏的解决方案,但我能说这就是我所知道的所有可以做的......

至于你最后的评论,你为什么要检查他是否没有加载页面!您需要做的就是检查页面是否已加载并给他奖品

$(function(){
    // page is fully loaded
    // you will get the prize

});

或在加载图像或添加您想要的内容时绑定ajax调用...如上所示...

于 2013-01-27T22:06:30.043 回答
1

你可以试试:

if (document.readyState === "complete") { 
   // Loaded
} else {
   // Not loaded
}

或者只使用 jQuery:

$(document).ready( function() {
   // Loaded
}
于 2013-01-27T22:09:17.753 回答