当页面加载时,是否可以在本地替换网站的Javascript?

时间:2016-02-09 06:33:46

标签: javascript jquery html web

我不是在谈论使用像greasemonkey这样的插件来注入新的javascript。我正在谈论提供(可能是某种浏览器扩展)一个自定义的js脚本来加载而不是页面提供的那个。

实施例: 网页有<script src="script.js"></script>

我想告诉我的浏览器在script.js中运行X代码而不是

谢谢。对不起,如果问题不是很清楚。

3 个答案:

答案 0 :(得分:3)

有几种方法可以在网页上以编程方式执行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&n; eval函数运行它的脚本。

var code = '...';
eval(code);

警告!除非您完全信任代码的来源,否则使用eval会很危险。

答案 1 :(得分:0)

打开chrome中的开发人员工具(Windows上的F12),导航到.js源文件,然后继续修改您在显示的编辑器中看到的内容。只要页面没有刷新,Chrome只会保留这些更改。刷新页面后,它会再次从服务器中拖出文件,您的本地更改将会丢失。

您可以替换该文件中的代码。

希望这就是你要找的东西!

答案 2 :(得分:0)

试试这个,这会在页面中注入一个脚本元素。我找到了删除现有元素的方法。

<script type="text/javascript">
document.write("<script src='codex.js'></script>");
</script>