使用Java脚本停止/暂停WordPress心跳

时间:2015-05-15 作者:Drivingralle

我使用WordPress心跳信号从前端检查服务器上的设置。如果该设置具有特定值,我希望停止干扰服务器。我想停止/暂停心跳。没有其他事情取决于心跳。

我找到了wp。心跳。停止()over here, 但它不起作用。

jQuery(document).ready(function ($) {

    $(document).on(\'heartbeat-tick\', function (e, data) {
        [...]
        if (true == x) {
            wp.heartbeat.stop();
        }
        [...]
    }

});
我在控制台中得到这个错误:
类型错误:wp。心跳。停止不是功能WP。心跳。停止();

在心跳信号中找不到stop()函数。js文件。

这段代码不会产生错误,但也不起作用。

jQuery(document).ready(function ($) {

    $(document).on(\'heartbeat-tick\', function (e, data) {
        [...]
        if (true == x) {
            $(window).trigger(\'unload.wp-heartbeat\');
        }
        [...]
    }

});
是否触发卸载。wp心跳是否以错误的方式发生?

2 个回复
SO网友:ryanm

Drivingralle,

你的代码在这里是正确的。

我在JavaScript控制台中做了一些工作,并从调试中得出了我的结论heartbeat.min.js 暂时(来源于heartbeat.js) 这就是设置。悬is “卸载”时正确触发。wp心跳事件。然而,我认为这是一个bugfocused() 函数设置设置。每当页面聚焦时,挂回false。

您可以提交一个bug,指示设置。在中意外恢复了挂起变量focused() 函数之后unload.wp-heartbeat 事件被触发和/或您可以修改heartbeat.(min).js 相应地编码,可能包括一个新的自定义变量设置。然后与设置一起检查的永久暂停。在函数中挂起scheduleNextTick().

希望有帮助,

瑞安

SO网友:Spock

嘿,我也在寻找同样的解决方案。

所以我有这个聊天应用程序,我现在使用的是使用heatbeat的轮询类活动,如果聊天关闭,我不想在我的网站上有任何无用的流量,所以我想禁用心跳,但不幸的是wordpress不允许禁用心跳,我看这是出于安全原因,以前有这个停止功能,但它们被删除了。

我们在中有设置选项wp.heartbeat 其中存储了挂起变量,但该变量不可访问。这些方法可以使用wp.heartbeat.

connectNow: r()
dequeue: w(a)
disableSuspend: s()
enqueue: u(a,b,c)
getQueuedItem: x(a)
hasConnectionError: q()
hasFocus: p()
interval: t(a,b)
isQueued: v(a)
因此,我所能做的就是使用wp.heartbeat.interval( 120 );其中120是我们可以设置的最大时间,约为2分钟。

结束

相关推荐

Front-End Post Submission

我正在尝试添加一个表单,用户可以从前端提交帖子。我正在学习本教程:http://wpshout。com/wordpress从前端提交帖子/我正在做的是添加this code 到我的一个页面模板。表单显示正常,但当我单击“提交”按钮时,它会显示“Page not found error“”许多评论者说这不起作用。谁能给我指出正确的方向吗?代码是否不完整?有缺陷吗?我做错什么了吗?谢谢Towfiq I。