У меня есть тестовая версия сайта, расположенная в поддомене обычного сайта, например: http://test.x.com вместо http://x.com .
Я использую тег
для перевода всех запросы ресурсов обратно в исходный домен:
Эта тактика отлично работала, пока я не реализовал поддержку HTML5 push / replaceState.
Теперь, если я выполню этот оператор в консоли:
history.pushState({}, "", "");
... тогда я получу Объект DOMException
в браузерах на основе WebKit:
code: 18
constructor: DOMExceptionConstructor
line: 2
message: "SECURITY_ERR: DOM Exception 18"
name: "SECURITY_ERR"
sourceId: 4839191928
__proto__: DOMExceptionPrototype
... и эта ошибка в FireFox 4:
Security error" code: "1000
Если я удалю тег
и выполню тот же оператор, новый состояние передается, и нет никаких исключений.
Несколько вопросов: 1) представляет ли такое поведение угрозу безопасности или это ошибка? И 2) есть ли обходной путь для предотвращения исключения или другая тактика, кроме использования тега
, которая полностью обойдет проблему?
Спасибо за ваше внимание.