是否可以使用javascript阻止javascript?

问题描述 投票:1回答:1

我正在尝试对Safari进行扩展,以使用户可以使用新的API阻止每个站点的javascript。该API可让您注入一个javascript文件,该文件将在任何内容之前加载到网站上,其功能不如常规javascript,就好像它在HTML页面上运行一样。有没有一种方法可以使用javascript阻止所有javascript?

API含糊地告诉我,“注入的脚本是在网页完全加载之前执行的,因此,当资源添加到网页时,您可以采取措施。”我是否可以挂入一些事件来捕获正在加载的资源并阻止它们?

javascript safari safari-extension
1个回答
0
投票

有一种方法可以阻止most Javascript:在页面加载的最开始处附加一个MutationObserver,并且每当文档更改时,如果找到<script>标签,请将其删除:

<script>
new MutationObserver((m) => {
  console.log('Mutation observer running...');
  document.body.querySelectorAll('script').forEach(scr => scr.remove());
})
.observe(document.documentElement, { childList: true, subtree: true });
</script>
<script>
console.log('hi');
</script>
© www.soinside.com 2019 - 2024. All rights reserved.