如何使用 Greasemonkey 代码替换 Head 脚本

2023-12-31

我想将“script.js”替换为“demo.js”。有人请帮助我

<head>

    <script src="script.js" type="text/javascript" language="javaScript"></script>     

</head>

尽早运行您的脚本@run-at document-start。添加事件监听器beforescriptexecute并检查脚本源。当您检测到所需的脚本时,调用preventDefault事件的方法并替换 DOM 中的 script 标签。

// ==UserScript==
// @name        demo-scriptreplace
// @include     http://example.com/*
// @version     1
// @run-at      document-start
// ==/UserScript==

window.addEventListener('beforescriptexecute',
  function(event)
  {
    var originalScript = event.target;

    // debug output of full qualified script url
    console.log('script detected:', originalScript.src);

    // script ends with 'originalscript.js' ?
    // you can test as well: '<full qualified url>' === originalScript.src
    if(/\/originalscript\.js$/.test(originalScript.src)) 
    { 
      var replacementScript = document.createElement('script');
      replacementScript.src = 'replacementscript.js';

      originalScript.parentNode.replaceChild(replacementScript, originalScript);

      // prevent execution of the original script
      event.preventDefault();
    }
  }
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Greasemonkey 代码替换 Head 脚本 的相关文章

  • angularjs:如何向资源对象添加缓存?

    在 http 中添加缓存非常简单 通过传递cache true http docs angularjs org api ng http https docs angularjs org api ng service 24http有缓存选项
  • Oo 任何 IDE 中的 javascript 代码补全

    你知道有什么IDE可以自动完成这种代码吗 我这里有一个 javascript 类生成器 function var core bind function method scope if method instanceof Function t
  • 仅当表单已提交时才触发 jQuery 表单验证?

    不引人注目的验证基于这样的想法 don t进行表单验证 直到用户提交表单 一旦发生这种情况 如果表单上的某些内容无效 那么一旦用户更改了每个字段 就会立即验证它 我想做的是 不显眼地 触发表单元素的验证 也就是说 only如果用户已尝试提交
  • 如何更改传单中功能集的样式?

    我正在看等值区域的例子 https leafletjs com examples choropleth https leafletjs com examples choropleth 这是他们使用的数据源 type Feature prop
  • 如何使用 JavaScript 中的值填充下拉列表?

    我在 Tridion CMS 扩展中的功能区工具栏按钮中添加了一个按钮 单击该按钮后 将显示一个弹出页面 其中包含两个下拉菜单 通过更改第一个下拉控件中的值 我应该填充第二个下拉控件的值 就我而言 我正在使用ASP drop down li
  • Node js 使用中间件重定向进行过多重定向

    在我的 Node js 应用程序 我使用的是express 4 x 中 我想检查用户是否已登录 如果用户未登录 我想重定向到我的登录页面 然后我在中间件中这样做 服务器 js app use function req res next if
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • 如何使用 jest 模拟第三方库

    我正在开发一个node js应用程序使用nestjs我有一堂课叫LoggerService如下 export class LoggerService private logger Rollbar constructor this logge
  • Ember.js 处理 View 事件后转换到路由

    Setup 我有一个 Ember 应用程序 支持使用 Imgur API 上传图像 我已经有一个工作路线和模板来处理任何 Imgur ID 但我想在上传新图像后转换到此路线 使用返回的 Imgur ID 这是该应用程序的相关部分 http
  • Leaflet js虚构地图

    我是 Leaflet 的新手 我想了解如何创建完全交互式的虚构地图 我有一张图像想要转换为传单地图 该图像基本上像图表一样具有许多连接和点 我想首先将该图像转换为地图 能够将鼠标悬停在这些点上 突出显示它们并显示有关它们的信息 并且还可以在
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • Node.js - console.log 不显示数组中的项目,而是显示 [Object]

    我在注销对象内数组的内容时遇到问题 实际的物体看起来像这样 var stuff accepted item1 item2 rejected response Foo envelope from The sender to new item1
  • JS用正则表达式替换数字

    我有元素的标识符 如下所示 form book 1 2 3 我想要的是用其他值替换该标识符中的第二个数字 我将函数 match 与以下正则表达式一起使用 var regexp d d d 但它返回我包含的数组 1 2 3 2 因此 当我尝试
  • 将数组排序为第一个最小值、第一个最大值、第二个最小值、第二个最大值等

    编写一个JS程序 返回一个数组 其中第一个元素是第一个最小值 第二个元素是第一个最大值 依此类推 该程序包含一个函数 该函数接受一个参数 一个数组 该函数根据要求返回数组 输入示例 array 2 4 7 1 3 8 9 预期输出 1 9
  • 单击关闭按钮后不显示 Google 一键登录 UI

    我正在尝试按照本指南使新的谷歌一键登录工作 https developers google com identity one tap web https developers google com identity one tap web
  • 如果数字小于 10,则显示前导零 [重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 相当于 printf string format https stackoverflow com questions 610406 javascript equivalent t
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an
  • 单击引导分页链接时调用 jquery 函数

    我想在单击引导分页链接时调用 jquery 函数 假设我想从第1页遍历到第2页 应该调用一个jquery函数 我正在使用以下代码 但它不起作用 ul pagination on click li function alert page ch
  • 如何在 gulp.src 中使用基本正则表达式?

    我正在尝试选择两个文件gulp src highcharts js and highcharts src js 当然 我知道我可以使用数组表达式显式添加这两个表达式 但出于学习目的 我尝试为它们编写一个表达式 我读过可以使用简单的正则表达式
  • 在 GWT 中,在任何主机页标记上添加事件处理程序

    我想为任何标签添加 MouseOver 事件处理程序 举个例子 我想为旧版 HTML 页面中的每个锚点页面添加事件处理程序 继GWT指南 http code google com webtoolkit doc 1 6 DevGuideUse

随机推荐

  • iOS:针对 iOS 9 使用 Swift 4

    Swift 4 添加了一些非常酷的功能 例如强类型键路径和JSON 编码 解码使用Codable https developer apple com documentation foundation archives and seriali
  • 使用进程退出代码显示 [运行] 中特定文件的错误消息

    使用 innosetup 并希望在 RUN 进程之一未返回进程代码 0 时显示错误 消息框 我将其用于授权过程 如果授权不成功 我想通知用户 我有以下内容 Filename pf32 Common Files Authorization e
  • 具有多个原型单元的 TableView

    我有一个关于具有 3 种不同类型的原型单元的表格视图的简单问题 前两个仅出现一次 而第三个则出现 4 次 现在我感到困惑的是如何在 cellforRowatindexpath 中指定哪个单元格原型用于哪一行 所以 我想要类似对于第 0 行
  • dlopen() 是否设置 errno?

    一切都在标题中 手册页没有说明任何内容 一些谷歌报告有些人在 dlopen 之后检查 errno 但只有很少的人并且结果各不相同 该函数确实返回一个成功 不成功值 但是应该如何找出失败的原因 So does dlopen 设置错误号 那么不
  • 如何使用 Netbeans 7.2 和 Maven 设置系统属性?

    我正在 NetBeans 7 2 中运行单元测试 使用 Maven 如何设置系统属性 我尝试使用以下方法添加属性 项目属性 gt 运行 gt JVM 参数 但这没有什么区别 我认为这可能与 JUnit 在不同的 JVM 中运行或其他什么有关
  • 在linux中,如何通过GNU ARM汇编进行系统调用

    到目前为止 我只知道如何通过 gnu arm 汇编退出程序 exit 0 mov r0 0 return code mov r7 1 supervisor service number svc call supervisor service
  • 使用 linq 和 NHibernate 3.0 进行分组

    据我所知 group by 只在 NHibernate 3 0 中添加 但即使使用版本 3 我也无法让 group by 工作 我尝试执行以下查询 Session Query GroupBy gbftr gt gbftr Tag Order
  • gevent (py)wsgi 优雅关闭

    我知道 通过搜索和检查 gevent 的源代码 优雅地关闭基于 gevent WSGI 的服务器的唯一方法是 server gevent wsgi WSGIServer 80 someWSGIApp def shutdown print S
  • JPA为什么使用createNamedQuery

    我正在将 DAO 层从使用 Hibernate API 更改为使用纯 JPA API 实现 看起来推荐的方法是使用实 体管理器中的 createNamedQuery 命名查询存储在模型 实体类的注释中 这对我来说没有意义 为什么要在模型对象
  • 使用 Testcontainers 时如何设置 Postgresql 的端口?

    有时我需要安装一个端口PostgreSQL 我在容器中运行它进行测试 但测试容器开发者命令Testcontainers删除了这个功能 但在某个地方有一个解决方案 通过设置 但我找不到它 谁有关于如何做到这一点的任何想法或信息 public
  • 如何在 MockMvc 中比较两个 jsonPath 值

    我正在使用 MockMvc 为我的 Spring 应用程序编写测试 假设我的 json 结果将具有以下格式 available true location ID 1 path local1 ID 2 path local2 ID 3 pat
  • 在Python中读取SUB之外的行[重复]

    这个问题在这里已经有答案了 新手问题 在 Python 2 7 2 中 我在读取文本文件时遇到问题 这些文件似乎意外包含一些控制字符 具体来说 循环 for line in f 一旦遇到包含以下内容的行就会停止 没有任何警告或错误SUB字符
  • XMLParser 和 SimpleXML 哪个更快

    你们觉得怎么样 我目前在整个项目中使用 SimpleXML 其平均内存使用量为 250KB 每次执行处理时间为 500 微秒 我只是打算切换到 XMLParser 非常感谢您的建议 编辑 实际微时间是 0 000578 微秒 我只是对毫和微
  • ZeroMQ (clrzmq4) 轮询问题

    我想要完成的是实现从两个套接字之一读取消息 无论消息首先到达何处 据我了解轮询 zmq poll 是正确的做法 如指南中的 mspoller http zguide zeromq org cs mspoller 在这里我将提供小的伪代码片段
  • Android datarouter logcat错误消息

    所以我的 logcat 被这个 datarouter 错误发送了垃圾邮件 任何人都可以帮助我解决这个问题并告诉我为什么会发生这种情况 哦 我尝试过重新启动手机和 eclipse 编辑 这似乎主要发生在我的 Mac 工作计算机上 以下是每 3
  • iOS 6 方向问题

    我有一个应用程序 通常是一个纵向应用程序 只显示一个 UIViewController 的横向视图 在新的 iOS 6 发布之前它都可以正常工作 我真的不明白方向在 iOS 6 中是如何工作的 所以我写了一个测试应用程序 这是我所做的 设置
  • 硒测试无法与任何元素相互作用

    所以我知道当我将 Django 设置中的 DEBUG 设置为 False 时 Selenium 无法访问静态文件 导致如下所示 但是 当我运行 Selenium 测试时 无论它们都能够与 DOM 交互并从下拉列表中选择项目 我目前拥有的测试
  • PPL - 如何配置本机线程数?

    我正在尝试使用 PPL 来管理本机线程的数量Scheduler类 这是我的代码 for int i 0 i lt 2000 i configure concurrency count 16 to 32 concurrency Schedul
  • 从 jruby-complete 消耗宝石

    我可以让我的jruby complete消耗传递给它的罐子中的宝石 但我想使用中央宝石库 这就是我现在可以做的 java jar jruby complete 1 6 5 jar S gem list LOCAL GEMS rake 0 8
  • 如何使用 Greasemonkey 代码替换 Head 脚本

    我想将 script js 替换为 demo js 有人请帮助我 尽早运行您的脚本 run at document start 添加事件监听器beforescriptexecute并检查脚本源 当您检测到所需的脚本时 调用preventDe