You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用enque script函数解决WordPress右键禁用脚本加载延迟问题

解决Seraphinite Accelerator导致内容保护脚本延迟的方案

方法1:排除内容保护插件/脚本免受加速器优化

  • 打开Seraphinite Accelerator的后台设置,找到「JavaScript优化」或「延迟加载」相关选项卡
  • 在「排除脚本」或「排除插件」输入框中,添加你的内容保护插件名称,或者它的核心脚本文件名(比如插件目录里的xxx-protection.js)
  • 保存设置后刷新页面,右键禁用功能即可立即生效

方法2:用WordPress官方函数优先加载自定义脚本

要是你想保留自己写的右键禁用代码,别往footer.php塞,用wp_enqueue_script让脚本在页面头部加载:

  1. 新建一个disable-right-click.js文件,把右键禁用代码放进去:
document.addEventListener('contextmenu', e => e.preventDefault());
// 要是需要禁用文本选择,再加下面这行
document.addEventListener('selectstart', e => e.preventDefault());
  1. 把这个文件传到Astra主题文件夹下的js目录(没有就新建一个js文件夹)
  2. 打开主题的functions.php,添加这段代码:
function load_protection_script_first() {
    wp_enqueue_script(
        'disable-right-click',
        get_stylesheet_directory_uri() . '/js/disable-right-click.js',
        array(),
        '1.0',
        false // false表示在<head>里加载,true才会放footer
    );
    // 强制脚本不延迟,确保优先级最高
    add_filter('script_loader_tag', function($tag, $handle) {
        if ($handle === 'disable-right-click') {
            return str_replace('src', 'defer="false" src', $tag);
        }
        return $tag;
    }, 10, 2);
}
add_action('wp_enqueue_scripts', 'load_protection_script_first', 1); // 优先级设为1,确保最先加载
  1. 删掉之前在footer.php加的代码,刷新页面测试即可

方法3:直接把脚本嵌到页面头部(最简单的办法)

嫌函数麻烦的话,直接改Astra的header.php文件,在</head>标签前插入这段脚本:

<script>
document.addEventListener('contextmenu', e => e.preventDefault());
// 可选:禁用文本选择
document.addEventListener('selectstart', e => e.preventDefault());
</script>
</head>

这样脚本会在页面最开始加载,一打开页面就生效,不会有延迟

内容的提问来源于stack exchange,提问作者Natsu Dragneel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:57:34