HTML5 push / replaceState и тег вызывает исключение безопасности

У меня есть тестовая версия сайта, расположенная в поддомене обычного сайта, например: 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) есть ли обходной путь для предотвращения исключения или другая тактика, кроме использования тега , которая полностью обойдет проблему?

Спасибо за ваше внимание.

8
задан pnuts 26 November 2015 в 14:13
поделиться