使用Tampermonkey(篡改猴)向页面注入js脚本

一、Tampermonkey 简单介绍

Tampermonkey是一款浏览器插件,适用于Chrome、Microsoft Edge、Safari、Opera Next 和 Firefox。他允许我们自定义javascript给指定网页添加功能,或修改现有功能。也可以用来辅助调试,或去除网页广告等。

官网地址:https://www.tampermonkey.net/

二、安装

(略)详见官网

二、使用案例

1、修改指定网页背景

①点击篡改猴插件,点击添加新脚本

进入脚本编辑页面:

②编辑脚本如下,并通过修改 @name ,来修改文件名

// ==UserScript==
// @name         设置背色为红色
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.tampermonkey.net/index.php?version=4.19.0&ext=dhdg&updated=true
// @icon         https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net
// @grant        none
// ==/UserScript==

function setBg(){
  document.body.setAttribute("style","background-color: red");
}

// 延迟三秒后,改变网站背景色
(function() {
    setTimeout(setBg,3000);
})();

 保存后,可以看到脚本添加成功

 ③点击编辑,指定脚本运行页面

 保存后,我们进入指定页面:

可以看到,页面加载3秒后,背景色发生改变,并且插件显示执行了一个脚本

如果不想页面加载后自动运行,也可以通过编辑页面,设置为手动运行,或指定运行时机:

 

这里我指定为右键菜单后,点击执行;进入该网站后,右键菜单:

 可以看到右键菜单已经出现了脚本的名字,点击后,3秒后页面背景色发生改变

 2、去掉百度搜索首页热点新闻

①同样,添加一个新脚本如下:

// ==UserScript==
// @name         删除百度热点
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://*/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

// 删除百度首页热点新闻
function delContent(){
  document.getElementsByClassName("hot-news-wrapper")[0].remove();
}

(function() {
    // 延迟500毫秒,等页面加载完成胡删除
    setTimeout(delContent,500);
})();

 2、设置脚本运行时间默认设置就行,打开百度

 运行脚本前:

可以看到百度热搜已经被删除掉了

### 关于篡改脚本已安装但未生效的解决方案 #### 脚本权限设置不当 有时篡改(如 Tampermonkey 或 Greasemonkey)脚本未能正常工作的原因在于脚本的权限设置不正确。确保所编写的用户脚本具有足够的权限来访问目标网页的内容[^1]。 对于某些特定网站,可能需要调整 `@match` 和 `@include` 的 URL 模式匹配规则以覆盖所有必要的页面路径。另外还需注意是否存在冲突的 `@exclude` 设置阻止了脚本运行。 #### 浏览器兼容性和版本更新问题 如果遇到篡改本身无响应的情况,则可能是由于浏览器扩展机制的变化或是新发布的浏览器安全策略影响到了插件的功能性。尝试升级到最新版的篡改以及对应的Web浏览器可以解决部分此类问题[^5]。 当发现篡改不再能成功注入并执行自定义JavaScript代码时,也应考虑查看是否有新的同源政策或其他安全性增强措施被引入,这可能会干扰原有脚本的工作方式。 #### 用户脚本错误或逻辑缺陷 编写质量不佳或者存在Bug的用户脚本同样可能导致看似已经正确装载但却没有任何实际效果的现象发生。仔细审查自己的代码片段,特别是那些涉及DOM操作的部分,确认它们能够按照预期的方式改变网页行为[^3]。 可以通过开启调试模式,在控制台观察日志输出来帮助定位潜在的问题所在;也可以利用在线资源查找相似案例的学习资料作为参考来进行修正优化。 ```javascript // ==UserScript== // @name My Script Name // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author You // @match *://*/* // @grant none // ==/UserScript== (function() { 'use strict'; // Your code here... })(); ``` #### 扩展管理界面检查 最后不要忘记定期回到浏览器内的篡改选项页内核对当前激活状态下的各个脚本列表,有时候简单的重新启用就能让一切恢复正常运作。此外这里还可以方便地管理和编辑现有的项目集合。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值