PakePlus 中文文档 下载 App

注入 JQuery——一行开关让脚本操作 DOM 更轻松

为什么要注入 JQuery

很多开发者写 JS 注入脚本时,用原生 document.querySelectorAll() 觉得啰嗦——写一句 $('#content').hide() 比 document.getElementById('content').style.display = 'none' 短很多。

PakePlus 提供了一个勾选框叫"注入 JQ",打开后会自动往目标网页里加载 JQuery 库(通常是压缩版的 jquery.min.js),之后你的 JS 注入脚本里就能直接用 $() 了。

怎么开

在软件配置页面的脚本相关区域,有一个叫"注入 JQ"的复选框——勾选就行。不用手动选 JQuery 文件,PakePlus 自带。

开启后能做什么

DOM 选择更简洁

// 原生 JS(啰嗦)
document.querySelectorAll('.ad-banner, .sidebar-ad').forEach(el => {
  el.style.display = 'none';
});

// 开了 JQuery 后(简洁)
$('.ad-banner, .sidebar-ad').hide();

链式操作

// 原生 JS(每步要重新选元素)
const el = document.getElementById('content');
el.classList.add('highlight');
el.setAttribute('data-custom', 'pakeplus');
el.style.fontSize = '18px';

// 开了 JQuery 后(链式,一次选中做一堆事)
$('#content').addClass('highlight').attr('data-custom', 'pakeplus').css('font-size', '18px');

事件绑定更方便

// 原生 JS
document.querySelector('#btn').addEventListener('click', () => {
  console.log('clicked');
});

// 开了 JQuery 后
$('#btn').on('click', () => console.log('clicked'));

AJAX 请求

// 原生 JS(fetch 或 XMLHttpRequest 要写不少)
fetch('/api/data').then(r => r.json()).then(console.log);

// 开了 JQuery 后(注意 CORS 还是有限制)
$.get('/api/data', data => console.log(data));

JQuery 在什么时机加载

PakePlus 的注入顺序大致是:

  1. 目标网页 HTML 加载
  2. JQuery 库注入(如果勾选了"注入 JQ")
  3. 你的自定义 JS 注入脚本执行

所以你的 JS 注入脚本执行时,$ 变量已经存在了,可以直接用。

但要注意:JQuery 可能和目标网页冲突

这是注入 JQuery 最容易踩的坑。目标网页如果已经加载了自己版本的 JQuery:

情况后果
目标网页用了 JQuery可能版本覆盖、插件不兼容、$ 冲突
目标网页用了 $.noConflict()PakePlus 注入的可能无效
目标网页的构建时排除了 JQuery✅ 完全安全,放心注入

怎么避免冲突

如果你担心 $ 被覆盖,可以把脚本里用 jQuery 代替 $,或者用 .noConflict():

// 在你的 JS 注入脚本开头加这一行
const $$ = jQuery.noConflict(true);

// 之后用 $$ 代替 $
$$('.ad-banner').hide();

什么时候该开 JQuery

场景建议原因
写 JS 注入脚本但不熟原生 API✅ 开$() 比 querySelectorAll 写起来舒服
目标网页是现代 React/Vue 项目❌ 不建议开React/Vue 自己管理 DOM,直接操作可能破坏其渲染状态
目标网页是传统 jQuery 站点⚠️ 谨慎可能版本冲突
只需要简单几个操作❌ 原生也够用引入 JQuery 增加运行时开销

JQuery 版本

PakePlus 内部用的是哪个版本的 JQuery 没有在文档里明确说明。但通常是最新稳定版的压缩版(jquery.min.js),体积约 30KB。

如果需要特定版本的 JQuery,也可以在"脚本文件"里自己加载——但注意不要和 PakePlus 注入的版本冲突。

注入 JQuery 和过滤元素的关系

如果只是想隐藏广告、改文字这些简单操作,优先用"过滤元素"配置(填 CSS selector 就行,不用写 JS)。JQuery 注入是写给需要更复杂 DOM 操作的场景准备的。