Как открыть страницу (которая находится в другом домене) внутри родительского окна, нажав на ссылку в iFrame (другой домен) на странице Google amp? - PullRequest
0 голосов
/ 30 октября 2018

ПОДХОД 1: Помещение некоторых атрибутов песочницы в IFRAME (встроено в страницу усилителя) и использование target='_top' внутри <iframe> кода.

IFRAME: trypower2.starzshows.com/starzshows/tracker.html

<a target="_top" href="https://www.starz.com?">WATCH</a>


HTML-страница AMP:

<amp-iframe 
    src="https://trypower2.starzshows.com/starzshows/tracker.html" 
    layout="responsive" 
    frameborder="0" 
    height="36" 
    width="243" 
    sandbox="
        allow-top-navigation-by-user-activation 
        allow-scripts 
        allow-same-origin 
        allow-top-navigation 
        allow-forms 
        allow-presentation
    "
></amp-iframe>


Выдает ошибку ниже:

Небезопасная попытка JavaScript инициировать навигацию для фрейма с источником 'https://trypower -starzshows-com.cdn.ampproject.org ' из фрейма с URL 'https://trypower2.starzshows.com/starzshows/tracker.html#amp=1'. Фрейм, пытающийся перейти песочница, и поэтому не разрешено ориентироваться в своих предках.

ПОДХОД 2: Передавая сообщение на родительскую страницу от js of IFRAME вместо прямого манипулирования местоположением, я не получаю никакого ответа, как будто ничего не произошло.
Ниже приведен код второго подхода:

IFRAME:

<a href="https://www.starz.com/buy-starz/signup?" onclick="aqueue('cta')">WATCH</a>



HTML-страница AMP:

<amp-iframe 
    on="message:AMP.navigateTo(url='https://www.starz.com/buy-starz/signup?')" 
    src="https://trypower2.starzshows.com/starzshows/tracker.html"
    layout="responsive" 
    frameborder="0" 
    height="36" 
    width="243" 
    sandbox="
        allow-top-navigation-by-user-activation 
        allow-scripts 
        allow-same-origin 
        allow-top-navigation 
        allow-forms 
        allow-presentation
    "
></amp-iframe>

JS IFRAME (вызывая этот метод по щелчку якоря):

К вашему сведению: я использовал https://search.google.com/test/amp для проверки страницы усилителя. Iframe, страница amp и якорь (href) принадлежат разным доменам.

...