SecurityError: операция небезопасна-окно.история.pushState()
Я получаю эту ошибку в консоли Firefox: SecurityError: The operation is insecure
и виновата функция HTML5: window.history.pushState()
, Когда я пытаюсь загрузить что-то с AJAX. Предполагается загрузить некоторые данные, но Javascript перестает выполняться при ошибке.
Мне интересно, почему это могло произойти. Это какая-то неправильная конфигурация сервера? Любая помощь будет оценена по достоинству.
Обновление: да, это была ошибка сервера с доменным именем, не совпадающим: http://en.wikipedia.org/wiki/Same-origin_policy
6 ответов:
Убедитесь, что вы следуете той же политике происхождения. Это означает тот же домен, тот же поддомен, тот же протокол (http vs https) и тот же порт.
Как pushState защищает от возможных подделок контента?
EDIT: как метко указал @robertc в своем комментарии, некоторые браузеры на самом деле реализуют несколько иные политики безопасности, когда источником является
file:///
. Не говоря уже о том, что вы можете столкнуться с проблемами при локальном тестировании сfile:///
, когда страница ожидает его выполняется из другого источника (и поэтому вашpushState
предполагает сценарии происхождения производства, а не сценарии localhost)
Мы испытали SecurityError: операция небезопасна когда пользователь отключил свои файлы cookie перед посещением нашего сайта, любые последующие запросы XHR, пытающиеся использовать сеанс, очевидно, потерпят неудачу и вызовут эту ошибку.
В моем случае я пропустил " www.- из url, который я нажимал. Это должно быть точное соответствие, если вы работаете над
www.test.com
, вы должны нажать наwww.test.com
, а неtest.com
Вы должны попробовать не открывать файл с помощью метода Folder-explorer (т. е.
file://
), а открыть этот файл изhttp://
(т. е.http://yoursite.com/
изhttp://localhost/
)