我有一个完全在服务器端呈现的网页(nodejs + phantomjs),我想将此页面发送到客户端浏览器。问题是客户端浏览器尝试重新执行javascript。因此,我有两个选择:
虽然我不会使用页面的原始javascript,但稍后我将需要能够将ifogle的javascript事件添加到iframe中。
似乎第一个选项可以通过使用iframe“sandbox”参数来实现..但这将阻止我以后注入其他javascript。因此,我需要一种方法来实现第二个选项,即从页面中删除所有原始javascript。
是否有一种有效(可靠)的方法?我想使用正则表达式可能是一个解决方案,但它是否可靠?
答案 0 :(得分:2)
我找到了一个似乎有效的解决方案。我不确定它是最好的解决方案,但它肯定比从文档中手动删除任何JS引用更好..出于我的目的。
这就是诀窍:劫持js!我只是在<head>
以下的前面加上:
<script>
Function.prototype.call = function(){};
Function.prototype.apply = function(){};
Function.prototype.bind = function(){};
</script>"
并禁用JavaScript。