我不是在谈论使用诸如 greasemonkey 之类的附加组件来注入(inject)新的 javascript。我说的是提供(可能是某种浏览器扩展)要加载的自定义 js 脚本而不是页面提供的脚本。
例子:
页面有<script src="script.js"></script>
我想告诉我的浏览器运行 X 代码而不是 script.js 中的代码
谢谢。抱歉,如果问题不是很清楚。
最佳答案
有几种方法可以在网页上以编程方式执行 Javascript。
添加另一个脚本标签
如果您可以将脚本保存在网络上的某个地方,那么您只需插入一个引用它的新脚本标签即可。
var script = document.createElement('script');
script.setAttribute('src', 'http://yourscript.com/script.js');
document.body.appendChild(script);
或者,如果您可以找到现有的脚本标签,则只需更改源即可。
var script = document.getElementById('my-script');
script.setAttribute('src', 'http://yourscript.com/script.js');
评估代码
如果您已经有了要执行的代码,那么您可以编写一个脚本,使用 Javascript 的 eval
函数来运行它。
var code = '...';
eval(code);
警告!除非您绝对信任代码源,否则使用 eval 可能很危险。
关于javascript - 是否可以在页面加载时在本地替换网站的 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35285381/