//TIP:先通过Tampermonkey编写为可用脚本,再套用此通用模版,再拖到Chrome安装为扩展即可。

/* 通用注入原型3:*/

switch (window.location.pathname)
{case "???":inject(YeScript.newFunc);break;
}
function inject(func)
{if (typeof (func) != 'function')return;YEJS = "//================== [YEJS START] =======================\n(";YEJS += func;YEJS += ")();";YEJS += "\n//================== [YEJS ENDED] =======================";script = document.createElement('script');script.type = 'text/javascript';script.id = 'YEJS';script.innerHTML = YEJS;var scriptTag = document.getElementById('YEJS');if (scriptTag) document.body.removeChild(scriptTag);document.body.appendChild(script);
}

/* 通用注入原型2:*/

var reallyJs = (function YeDoIt()
{
//通过将实际的待注入网页的脚本写到这里即可。
}.toString());YEJS = "//================== [YEJS START] =======================\n";
YEJS += reallyJs;
YEJS += "\nYeDoIt();";
YEJS += "\n//================== [YEJS ENDED] =======================";
script = document.createElement('script');
script.id = 'YEJS';
script.type = 'text/javascript';
script.innerHTML = YEJS;
var scriptTag = document.getElementById('YEJS');
if (scriptTag) document.body.removeChild(scriptTag);
document.body.appendChild(script);

  

/* 通用注入原型1:*/

var YEJS="\
//================== [YEJS START] =======================\n\
将要注入的JS:
1.需要替换所有[双引号]为[单引号] 或\"引号!
2.需要替换所有\n为\\n\\\n
3.不留空行或空行也要用\n\符号代替!
4.将正则表达式中的\d\w等改为\\d\\w才有效!
\n//================== [YEJS ENDED] =======================";//======================================================
// 直接注入JS到网页中,可自由操纵原网页的任何脚本!
//======================================================
script = document.createElement('script');
script.type = 'text/javascript';
script.id = 'YEJS';
script.innerHTML = YEJS;
var scriptTag = document.getElementById('YEJS');
if (scriptTag) document.body.removeChild(scriptTag);
document.body.appendChild(script);
//======================================================
// 插件的JS与原网页的JS唯一的交流通道为网页DOM树!
//======================================================

  

转载于:https://www.cnblogs.com/AsionTang/p/3442081.html

浏览器插件 - 通用注入模版JS相关推荐

  1. js浏览器和浏览器插件检测的方法总结

    文/玄魂 前言 首次面对题目所示的需求的时候,头脑中没有任何概念,于是搜索,所有的中文结果都不是很满意.所幸老外的几篇文章还是很有参考价值,虽然最终没有解决我的问题,但是我还是把这几篇文章的内容作了抽 ...

  2. 判断浏览器 插件 jquery.ua.js

    判断浏览器 插件 jquery.ua.js /*!* jquery.ua.js* @link https://github.com/cloudcome/jquery.ua* @author ydr.m ...

  3. 浏览器插件crx文件--JS混淆与解密

    下载了一个浏览器插件,文件后缀是 ".crx" ,想更改某些功能. crx其实就是zip压缩文件,重命名将文件后缀名改为".zip"格式 ,解压文件 . 文件目 ...

  4. 【Chrome浏览器插件开发】浏览器插件运行机制03之实战使用Vue.js 3 + Vite 2开发出简易的浏览器插件(含源码)

    文章目录 知识点: 一.使用 vite 创建项目 1.1 环境搭建 1.2 安装vite工具 1.3 创建vite项目 1.4 进入项目并安装依赖 1.5 修改端口 1.6 运行项目 二.创建项目资源 ...

  5. 如何开发一个浏览器插件

    参考文章 Chrome 平台 API 一天学会Chrome插件开发 30分钟开发一款抓取网站图片资源的浏览器插件 manifest.json参数详解 Content Security Policy 入 ...

  6. 运用前端知识做一个csdn浏览器插件

    过去我csdn等级达到5级时,能体验到一个月csdn的vip博客皮肤,但是只能体验一个月啊!怎样才能长久体验呢?随着时间的推移,现在,我在网上学会了一个玩意,那就是浏览器插件,通过制作一个浏览器插件, ...

  7. 使用FireBreath写浏览器插件(二)

    二. Firebreath的实际应用 去年我在给公司开发PC上Widget引擎,这个Widget引擎上面运行WebApp应用,界面和应用逻辑使用HTML+CSS+Javascript实现,而网页无法实 ...

  8. 初窥火狐浏览器插件后门

    插件的基本机构及其作用 1.manifest.json 这个文件是每个插件都必须有的一个文件(其他的文件是可选的),它定义了插件的所有的信息,如权限,要引入哪些脚本,包含哪些资源等等. 2.Backg ...

  9. 使用chatgpt写一个划词翻译的浏览器插件

    最近在网上流行的chatgpt,实在是太火了,好多人在使用,而且它的用处实在是太丰富了,能帮助我们解决很多问题,就比如说:编程,生成图片,翻译等.太丰富了.我看网上很多人都在说,它可以帮助人开发软件, ...

最新文章

  1. Spring --- SpEL
  2. 音视频技术开发周刊 83期
  3. u盘排序软件_华硕电脑u盘启动设置
  4. 评测征集 | 2021全国知识图谱与语义计算大会
  5. 爬虫入门学习:爬取股票论坛信息
  6. 浏览器UI线程更新机制
  7. Vmware虚拟机linux系统混合模式上网
  8. springsecurity 登录失败_145-Spring Security
  9. 【转】ASP.NET使用ECharts展示后台数据
  10. 环路滤波(五):SAO
  11. 考研:研究生考试(十五天学完)之《高等数学-上册/下册》研究生学霸重点知识点总结之目录(函数与极限、导数与微分、微分中值定理与导数、不定积分、定积分及其应用、微分方程、空间解析几何与向量代数、多元函数
  12. face_alignment库获取人脸图片landmark示例
  13. java jbutton_Java JButton按钮使用
  14. Android 跳转外部浏览器
  15. 米扑代理:爬虫代理IP哪家好
  16. treegrid 与java交互_EXTJS实现的TREEGRID(后台java,框架SpringMVC)
  17. js正则表达式 URL格式匹配详解
  18. Java爬取12306
  19. FlashDB数据库+Norflash移植和使用
  20. jadx 支持 Windows、Linux、 macOS,能够帮我们打开.apk, .dex, .jar,.zip等格式的文件

热门文章

  1. 安装memcached服务 和 php 安装memcache扩展
  2. 第二阶段冲刺第四天(6月3号)
  3. J.U.C atomic 数组,字段原子操作
  4. 分离数据库(Detach database).
  5. 剑指offer试题(PHP篇一)
  6. 如何记忆英语的成语、俗语等
  7. emacs 新手笔记(四) —— 使用 dired 完成一些简单的文件和目录操作
  8. java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)
  9. 感知机(python实现)
  10. 九度OJ 1434 今年暑假不AC