Несомненно, одни и те же симптомы могут иметь много причин, но вот что помогло мне решить эту проблему.
У меня был только один из многих ПК с Windows 7 с IE11, показывающих симптом «Доступ запрещен» при попытке любого JavaScript, включающего window.localStorage
, с уважаемых и хорошо функционирующих веб-сайтов. Использование Process Explorer показало, что ближайшей причиной был ОТКАЗ В ДОСТУПЕ, когда taskhost.exe (действующий от имени Internet Explorer) пытался открыть DOMStore\container.dat
для общего чтения-записи. На самом деле, все было еще хуже: если я удалил container.dat
, произошел тот же ACCESS DENIED, даже если файл больше не существовал. И, если я удалил (скрытую) папку DOMStore
, когда taskhost.exe попытался воссоздать ее, она также получила ЗАПРЕЩЕННЫЙ ДОСТУП.
После двух дней поиска ложных выводов окончательное решение было таким:
Запись в реестре:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\LowCache\Extensible Cache\DOMStore\CachePath
(обратите внимание, что LowCache
в этой строке) было неправильно установлено:
%USERPROFILE%\AppData\Local\Microsoft\Internet Explorer\DOMStore
когда должно быть:
%USERPROFILE%\AppData\LocalLow\Microsoft\Internet Explorer\DOMStore
в результате чего запросы localStorage с низким уровнем целостности направлялись в области дискового хранилища AppData со средней степенью целостности, что приводило к возникновению ошибок ACCESS DENIED и прекращению использования JavaScript window.localStorage
.
Эта запись в реестре, должно быть, была неправильной в течение многих лет: возможно, это побочный эффект энтузиазма в отношении предварительных версий платформ с ошибками и так далее. Эта ошибка пережила полное удаление и повторную установку IE11.
В реестре есть аналогичная запись для кеша со средней степенью целостности:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Extensible Cache\DOMStore\CachePath
и это правильно оставлено как:
%USERPROFILE%\AppData\Local\Microsoft\Internet Explorer\DOMStore
и не должно быть изменено.
person
Robin Walker
schedule
10.05.2014