如何隐藏iFrames中的javascript错误?

时间:2009-06-26 15:46:40

标签: javascript iframe proxy

我有一个iFrame,通过我控制的代理之一显示外部网页。但是这个代理在大多数情况下都不能正确处理javascript,外部页面会抛出javascript错误。 Javascript不需要工作,因为它不重要。

我该怎么做才能隐藏这些javascript错误?它们很烦人,我可能有多个iFrame指向不同的外部源。

2 个答案:

答案 0 :(得分:1)

您的代理可以重写HTML吗?如果您甚至不关心HTML是否有效,则可以将<script替换为<!--script,将/script>替换为/script-->。并使任何事件处理程序属性无效将on[a-z]+=替换为*onnull=

可以运行的唯一JavaScript是在Internet Explorer的CSS表达式中。

答案 1 :(得分:0)

我想只需使用代理来解析和替换所有脚本标记和事件。由于所有这些标记都具有常规模式,因​​此您可以使用正则表达式来消除所有脚本标记和所有javascript事件(如果不重要)。

正则表达式删除脚本:

<script.*?</script>

将删除脚本标记之间的所有字符,但您也应删除on x和javascript:地址。稍后会详细介绍。