【问题标题】:JavaScript on page reload continue?页面重新加载上的 JavaScript 继续?
【发布时间】:2014-07-25 18:21:17
【问题描述】:

我有这些 for in 循环来评估事物,所以我可以运行一些任务 onbeforeunload。我想知道是否有办法检测简单的页面重新加载,以便我可以继续并忽略它。有什么想法吗?


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

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';
        }

【问题讨论】:

  • 您想在页面加载/重新加载时保留您的 javascript?没有。
  • 当页面被重新加载时,JavaScript 执行停止并从头重新开始。我不认为这是可以改变的。

标签: javascript jquery for-in-loop


【解决方案1】:

我怀疑这甚至是可能的。也许有一些核心的编码技能,或者巧妙地使用 cookie。但我想不出你为什么要发生这种情况。

【讨论】:

    猜你喜欢
    • 2018-08-20
    • 2021-03-21
    • 2013-04-21
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多