尝试打开iframe以写入内容时,定期“访问被拒绝”

时间:2010-11-04 01:54:03

标签: javascript iframe

我们每天都会在几个客户端发生“访问被拒绝”的javascript错误(每当发生未处理的js错误时,我们会通过webservice调用通知)。错误发生在.04%的页面请求中,因此它绝不是常见的,也不是我们可以重现的。

在IE6,IE7和IE8上观察到错误,因此它似乎是IE问题。

以下是导致问题的简化标记和关联的javascript:

标记

<iframe id="frm" src="javascript:false;" />

JS

var frm = document.getElementById("frm");
var frmDoc = frm.contentWindow.document;
frmDoc.open();
frmDoc.write('some html');

当我们调用frmDoc.open()时会发生“访问被拒绝”错误。

在互联网上搜索可能导致这种情况的任何线索后,我唯一的希望就是有人可能会对可能发生的事情有一个有效的假设。也许这是一个IE错误,但如果有办法解决它,我们想追求它。

欢迎所有狂野的想法。

1 个答案:

答案 0 :(得分:0)

一个可能的原因: IE中禁用/未知javascript协议(可能由某些安全软件强制执行)。

我做了一个测试,在注册表中重命名了javascript-protocol,以便IE无法处理它(iframe的URL)并得到相同的错误消息。

尝试使用about:blank代替javascript:false;