我们每天都会在几个客户端发生“访问被拒绝”的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错误,但如果有办法解决它,我们想追求它。
欢迎所有狂野的想法。
答案 0 :(得分:0)
一个可能的原因: IE中禁用/未知javascript协议(可能由某些安全软件强制执行)。
我做了一个测试,在注册表中重命名了javascript-protocol,以便IE无法处理它(iframe的URL)并得到相同的错误消息。
尝试使用about:blank
代替javascript:false;