Я пытаюсь установить iframe в ionic3, но столкнулся с этой проблемой. Отказался отображать фрейм веб-страниц.
Это мой код.
<ion-content> <div #frame style="width:100%; height:100%; overflow:scroll !important;-webkit-overflow-scrolling:touch !important"> <iframe [src]="url" class="iframe" scrolling="yes" ></iframe> </div> </ion-content> onInput() { this.open = true; this.url = this.domSanitizer.bypassSecurityTrustResourceUrl('https://www.youtube.com/embed/results?search_query=' + this.myInput); }
Попробуйте добавить это в ваш файл config.xml в обоих разделах платформы
<allow-navigation href="*" /> <allow-navigation href="https://*youtube.com/*" />
Когда вы отправляете запрос типа GET , POST , iframe (GET) и т. Д. Ваш браузер или WebView по умолчанию добавляет заголовок в "Запрос"Заголовки "с именем "origin".Этот заголовок, МОЖЕТ изменить.
"origin"
В вашем случае я вижу, что URL, который вы пытаетесь вставить, это: "https://www.youtube.com/embed/results?search_query= + this.myInput", но в документации Youtube говорится, что URL должен быть: "http://www.youtube.com/embed/VIDEO_ID?origin=http://yourPage.com".
"https://www.youtube.com/embed/results?search_query= + this.myInput"
"http://www.youtube.com/embed/VIDEO_ID?origin=http://yourPage.com"
Когда вы используете <iframe> с Youtube, ВСЕГДА вы должны отправлять источник в параметрах ссылки.
<iframe>
origin: Этот параметр обеспечивает дополнительную меру безопасности для API IFrameи поддерживается только для встраивания IFrame.Если вы используете API IFrame, что означает, что вы устанавливаете значение параметра enablejsapi равным 1, вы всегда должны указывать свой домен в качестве значения параметра origin.https://developers.google.com/youtube/player_parameters?hl=en-419#origin
Здесь у вас есть ссылка на документацию Youtube: https://developers.google.com/youtube/player_parameters?hl=en-419
Привет!
Youtube установил X-FRAME-OPTIONS в SAMEORIGIN в своем заголовке ответа, что означает, что только сайты с таким же происхождением, что и у Youtube (youtube.com), могут загружать этот сайт в iframe или объект.
X-FRAME-OPTIONS
SAMEORIGIN
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
Вам нужно будет встроить видео так, как этого хочет Youtube.