1

如果我的页面上加载了一个我无法删除的脚本(这是一个非常大的企业应用程序,代码已经丢失/埋没了),有没有办法取消脚本被加载/执行浏览器?

一些示例代码:

<!DOCTYPE html>
<html>
  <head>

    <!-- Automatically added to every page, can't be removed from the backend -->
    <script type="text/javascript" src="MyBadScriptFile.js"></script>

    <!-- Other scripts being loaded, i.e. jQuery -->
    <script type="text/javascript" src="jQuery-1.10.1.min.js"></script>

    <!-- My script file that I have control over -->
    <script type="text/javascript" src="MyScriptCanceller.js"></script>

  </head>
  <!-- ... -->
</html>

我的问题是,我可以放入什么内容来MyScriptCanceller.js阻止浏览器加载或执行MyBadScriptFile.js

编辑:或者是否有其他方式来操作对可以随时删除/禁用此脚本的位置的响应?

4

4 回答 4

7

不,Javascript 文件按顺序运行。这意味着在执行完第一个和第二个文件的内容之前,不会执行第三个文件的内容。并且一旦代码被执行,您就无法撤消它。

于 2013-06-20T18:42:52.480 回答
0

我建议使用像 firebug 这样的应用程序/插件来定位页面上脚本的加载位置,并注释掉脚本(如果无法删除)。

拥有另一个脚本永远不会取消先前启动的脚本的加载,除非它是异步加载的 (AJAX)。事实上,它只会增加加载时间,尽管如果它是一个小文件,则不会增加太多。

这可能需要一些工作,但我认为您最好的选择仍然是搜索并找到原始长时间加载脚本的位置。

于 2013-06-20T18:48:11.593 回答
0

如果您确定,没有人会需要 javascript,为什么不注释掉/清空源代码?那么,该文件将被加载,但它不会有任何进一步的影响?如果您对源没有任何访问权限,那么暴力尝试将是拦截 html 交付过程并预处理 html 以去除不需要的 javascript 或对编译后的代码进行反向工程。

PS:正如我从您的评论中看到的那样-您无法访问源代码。这让事情变得很困难。

于 2013-06-20T18:51:10.953 回答
-1

如果满足某些条件,也许您可​​以让 MyScriptCanceller.js 动态创建您的第三个链接?如果不满足条件,它只是不会创建第三个被调用的js文件。

http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml

于 2013-06-20T18:44:25.250 回答