fix(frontend): 解绑 vendor main.min.js 的 body 级 ajax 委托,根除 admin-ajax 400 "0"
main.min.js 在 body 上委托 [data-action]/[ajax-action]/.wp-ajax-submit/ .initiate-checkin/.oauth-untying 的点击并向 admin-ajax 发 zibll 原生 action (comment_like/like/follow_user…),AKSRT 无对应处理器,WP 一律返回 400 "0", 即控制台「ajax请求错误」的来源;评论点赞(data-action=comment_like)、文章 点赞/收藏(data-action=like|favorite)、VIP 购买等均会触发,且与 §10.11 自有 处理重复。main.min.js 由 loader.js 异步加载,解绑以幂等 .off 每 200ms 重试至多 50 次覆盖加载窗口。vendor 运行时仅保留 UI 行为。
This commit is contained in:
@@ -269,6 +269,34 @@
|
||||
});
|
||||
}, true);
|
||||
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
// §10.10a — 解绑 vendor main.min.js 的 ajax 委托
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
// main.min.js(loader.js 异步加载)在 body 上挂了 zib_ajax 系点击委托:
|
||||
// [data-action] / [ajax-action] / .wp-ajax-submit / .initiate-checkin / .oauth-untying
|
||||
// 它们向 admin-ajax 发 zibll 的 action(comment_like、like、follow_user…),
|
||||
// AKSRT 没有这些处理器 → WP 返回 400 "0"(控制台「ajax请求错误」),
|
||||
// 且与下方 §10.11 自有处理重复。vendor 运行时只保留 UI 行为,ajax 委托统一摘除。
|
||||
// main.min.js 异步加载,.off 需在其绑定后执行——幂等重试覆盖加载窗口。
|
||||
function unbindVendorAjaxDelegates() {
|
||||
if (!window.jQuery) return;
|
||||
try {
|
||||
var $body = jQuery('body');
|
||||
$body.off('click', '[data-action]');
|
||||
$body.off('click', '[ajax-action]');
|
||||
$body.off('click', '.wp-ajax-submit,[zibajax="submit"]');
|
||||
$body.off('click', '.initiate-checkin');
|
||||
$body.off('click', '.oauth-untying');
|
||||
} catch (e) { /* vendor 运行时未就绪时忽略 */ }
|
||||
}
|
||||
var unbindVendorAjaxLoop = function () {
|
||||
unbindVendorAjaxDelegates();
|
||||
if (++unbindVendorAjaxLoop.tries >= 50) return; // ~10s @200ms 覆盖异步加载窗口
|
||||
setTimeout(unbindVendorAjaxLoop, 200);
|
||||
};
|
||||
unbindVendorAjaxLoop.tries = 0;
|
||||
unbindVendorAjaxLoop();
|
||||
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
// §10.11 — [data-action] / [ajax-action] universal buttons
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
|
||||
Reference in New Issue
Block a user