如何使用Greasemonkey代码替换Head脚本 [英] how to replace Head script using Greasemonkey code

查看:75
本文介绍了如何使用Greasemonkey代码替换Head脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将"script.js"替换为"demo.js".有人请帮助我

i want to replace "script.js" to "demo.js". anyone please help me

<head>

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

</head>

推荐答案

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

Run your script early by @run-at document-start. Add an event listener beforescriptexecute and check the script source. When you detect the desired script, call preventDefault method of the event and replace the script tag in the DOM.

// ==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();
    }
  }
);

这篇关于如何使用Greasemonkey代码替换Head脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆