Vue iFrames с Vue Router

Не уверен, что я делаю что-то не так или это ошибка,

У меня есть простая веб-страница vue.js, на которой запущен маршрутизатор vue с iframe на домашней странице. Без iframe на странице он отлично работает при использовании v-link для перемещения между страницами, но с iframe я получаю эту междоменную ошибку при попытке перемещаться между страницами.

vue.common.js?e881:1140 Uncaught SecurityError: Blocked a frame with origin "http://localhost:8080" from accessing a frame with origin "http://interactr-dev.s3-website-eu-west-1.amazonaws.com". Protocols, domains, and ports must match.

Я не уверен, связано ли это с этим, но iframe также работает с Vue (хотя они не привязываются к одному и тому же идентификатору).

Кто-нибудь не ответит, ошибка ли это во Vue или в том, как я это делаю?


person Chris Bell    schedule 12.05.2016    source источник
comment
Это проблема с перекрестным происхождением: похоже, вы смешиваете контент с локального сервера и сервера amazon s3.   -  person nils    schedule 12.05.2016
comment
Да, это src iframe на s3. iframe загружается и воспроизводится нормально, он не показывает ошибку, пока вы не активируете изменение страницы с помощью маршрутизатора vue, не уверен, пытается ли Vue что-либо сделать в iframe, когда он меняет страницу, и вот что бросает кросс-домен ошибка   -  person Chris Bell    schedule 12.05.2016
comment
Не знаю, связано ли это, но последний выпуск Vue (1.0.24) говорит: fixed regression in 1.0.23 that breaks app if the page contains iframes with different origins   -  person Yerko Palma    schedule 12.05.2016
comment
Ах вот и все. На главной странице была запущена последняя версия Vue, но iframe работал под управлением 1.0.21, я обновил версию Vue в iframe, и это решило проблему.   -  person Chris Bell    schedule 12.05.2016


Ответы (1)


Vue v1.0.24 исправил проблему с iframe (спасибо @Yerko). Автор этого вопроса упомянул, что обновление до более высокой версии устранило проблему.

person aristidesfl    schedule 27.02.2017