Периодический «доступ запрещен» при попытке открыть iframe для записи содержимого - PullRequest
1 голос
/ 04 ноября 2010

У нас есть ошибка javascript «доступ запрещен», возникающий на нескольких клиентах каждый день (мы получаем уведомление через webservice при возникновении необработанной ошибки js) Ошибка возникает на 0,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 голосов
/ 04 ноября 2010

Одна из возможных причин: Протокол javascript отключен / неизвестен в IE (может быть вызван некоторыми программами безопасности).

Я сделал тест, переименовал в реестре javascript-протокол, чтобы IE не смог его обработать (URL-адрес iframe), и получил то же сообщение об ошибке.

Попробуйте использовать about:blank вместо javascript:false;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...