2009-06-26 64 views
0

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

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

+0

你是指什么样的代理?你可以注入代码到你加载的页面吗? – Greg 2009-06-26 15:52:32

回答

0

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

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

0

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

正则表达式来删除脚本:

<script.*?</script> 

将删除脚本标记之间的所有字符,但你也应该删除上X和javascript:地址为好。稍后再说。