页面重新加载的JavaScript会继续吗?

时间:2014-06-04 22:26:55

标签: javascript jquery for-in-loop

我已经在循环中评估了这些内容,因此我可以运行一些任务onbeforeunload。我想知道是否有办法检测简单的页面重新加载,以便我可以继续并忽略它。有什么想法吗?


编辑:我措辞不好,所以我会再试一次。退出弹出窗口工作正常,但我不希望它在用户只是重新加载页面时触发。有没有办法解决这个问题?我知道它的UI很差,不是我的决定。

var __redirect_to = 'https://www.someplace.com';

        var _tags = ['button', 'input', 'a'], 
            _els, 
            _i, 
            _i2;

        for( _i in _tags ) {
            _els = document.getElementsByTagName(_tags[_i]);
            for(_i2 in _els) {
                if( (_tags[_i] == 'input' && _els[_i2].type != 'button' 
                    && _els[_i2].type != 'submit' && _els[_i2].type != 'image') 
                    || _els[_i2].target == '_blank') 
                    continue;
                _els[_i2].onclick = function() {
                    window.onbeforeunload = function(){ };
                }
            } // for in loop
       } // for in loop

        window.onbeforeunload = function() {
            setTimeout(function() {
                window.onbeforeunload = function() { };
                setTimeout(function() {
                    document.location.href = __redirect_to;
                }, 500);
            }, 5);
            return 'Please -STAY ON THE PAGE- to take a brief survey';
        }

1 个答案:

答案 0 :(得分:0)

我怀疑这甚至是可能的。也许有一些核心编码技巧,或巧妙使用cookie。但我无法想出你为什么要这样做的原因。