如何从网页中删除所有javascript和js调用?

时间:2013-06-19 21:15:15

标签: javascript iframe sandbox strip-tags

我有一个完全在服务器端呈现的网页(nodejs + phantomjs),我想将此页面发送到客户端浏览器。问题是客户端浏览器尝试重新执行javascript。因此,我有两个选择:

  1. 禁用在客户端中加载该页面的iframe中的javascript
  2. 从页面中删除每个javascript和js来电/事件
  3. 虽然我不会使用页面的原始javascript,但稍后我将需要能够将ifogle的javascript事件添加到iframe中。

    似乎第一个选项可以通过使用iframe“sandbox”参数来实现..但这将阻止我以后注入其他javascript。因此,我需要一种方法来实现第二个选项,即从页面中删除所有原始javascript。

    是否有一种有效(可靠)的方法?我想使用正则表达式可能是一个解决方案,但它是否可靠?

1 个答案:

答案 0 :(得分:2)

我找到了一个似乎有效的解决方案。我不确定它是最好的解决方案,但它肯定比从文档中手动删除任何JS引用更好..出于我的目的。

这就是诀窍:劫持js!我只是在<head>以下的前面加上:

<script>
    Function.prototype.call = function(){}; 
    Function.prototype.apply = function(){};
    Function.prototype.bind = function(){};
</script>"

并禁用JavaScript。