javascript - 使用 jQuery 禁用页面上的所有内容。破解我的代码

标签 javascript jquery html testing dom

对于我当前的项目,我要求该工具能够从页面中删除所有功能,以便它是完整且字面的静态页面。删除跟踪任何链接的功能,并禁用允许更改页面上内容的 JavaScript 监听器。这是我迄今为止的尝试:

$("*").unbind().attr("href", "#");

但是为了追求完美的脚本,并让它在任何可能的页面的每种情况下都能工作(并且在线衬线是否足够有效的不确定性),我想我应该咨询 stackOverflow 的专家.

总而言之,我的问题是,“这可以(并且已经)在一个类轮中完成吗?有什么可能会遗漏吗?”。请尽可能打破这个。

最佳答案

没有。其中没有任何内容会阻止 meta 重定向、超时或已在运行的间隔,并且它对同源 iframe 没有任何作用(或者可以通过 成为同源的 iframe) document.domain),可以返回父页面以重新动态化内容。

编辑: 脚本可以保持淹没状态以便稍后弹出的方式数量很大,因此除非您在执行此操作之前控制所有可以运行的代码,否则我倾向于说在实践中不可能将其锁定,除非您有一个包括一些浏览器实现者在内的团队为此工作了一段时间。

潜艇脚本的其他可能来源:XMLHttpRequest(及其 onreadystatechange 处理程序)、canscript 的 Flash 对象、Web Worker 和嵌入在Object.prototype.toString之类的东西中运行的代码。

关于javascript - 使用 jQuery 禁用页面上的所有内容。破解我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5051691/

相关文章:

javascript - MySQL 表填充下拉列表。选择后,将填充第二个下拉列表

javascript - 通过单击 img 在输入上显示框

HTML 和 CSS 背景定位一个图标

javascript - 从 mysql 渲染复杂的 JSON 并使用列值作为标签

javascript - MongoDB 只打印一个集合的一个值。 JavaScript

javascript - React 获取组件高度

javascript - Javascript 中的字数统计

javascript - Jasmine spyOn 使用伪造的返回数组测试功能

javascript - 如何在 jQuery 中创建滚动菜单?

javascript - 在浏览器中覆盖 TAB