Я разрабатываю веб-сайт, который должен быть адаптивным, чтобы люди могли получить к нему доступ со своих телефонов. На сайте есть некоторые защищенные части, в которые можно войти, используя Google, Facebook и т. Д. (OAuth).
Серверная часть сервера разработана с использованием ASP.Net Web API 2, а интерфейс - в основном AngularJS с некоторым количеством Razor.
Что касается аутентификации, все работает нормально во всех браузерах, включая Android, но аутентификация Google не работает на iPhone, и это дает мне это сообщение об ошибке
Refused to display 'https://accounts.google.com/o/openid2/auth
?openid.ns=http://specs.openid.ne…tp://axschema.org/namePerson
/last&openid.ax.required=email,name,first,last'
in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
Теперь, что касается меня, я не использую iframe в моих HTML-файлах.
Я погуглил вокруг, но не получил ответа, чтобы решить проблему.
angularjs
asp.net-web-api
google-oauth
Али Хмер
источник
источник
Ответы:
Я нашел лучшее решение, может быть, оно может помочь кому-то заменить
"watch?v="
,"v/"
и оно будет работатьисточник
<iframe width='1080' height='760' src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allowfullscreen></iframe>
Хорошо, потратив больше времени на это с помощью этого поста
Преодоление «Отображение запрещено X-Frame-Options»
Мне удалось решить эту проблему, добавив
&output=embed
в конец URL-адреса перед публикацией в URL Google:источник
Попробуй использовать
Вы можете найти весь встроенный код в разделе «Встроенный код», и это выглядит так
источник
В этом случае они установили заголовок SAMEORIGIN, что означает, что они запретили загрузку ресурса в iframe за пределами своего домена. Так что этот iframe не может отображать кросс-домен
Для этого вам нужно соответствовать местоположению в вашем Apache или любой другой службе, которую вы используете
Если вы используете apache, то в файле httpd.conf.
источник
your_relative_path
?Если вы используете iframe для vimeo, измените URL с:
чтобы:
Меня устраивает.
источник
Для встраивания видео YouTube на страницу Angularjs, вы можете просто использовать следующий фильтр для вашего видео
источник
Я сделал следующие изменения и отлично работает для меня.
Просто добавьте атрибут
<iframe src="URL" target="_parent" />
_parent
: это откроет встроенную страницу в том же окне._blank
: В другой вкладкеисточник
Для меня исправление состояло в том, чтобы перейти на console.developer.google.com и добавить домен приложения в раздел «Javascript Origins» учетных данных OAuth 2.
источник
Немного поздно, но эта ошибка также может быть вызвана, если вы используете
native application Client ID
вместоweb application Client ID
.источник
У меня была та же проблема, реализованная в Angular 9. Вот два шага, которые я сделал:
Измените URL своего YouTube с
https://youtube.com/your_code
наhttps://youtube.com/embed/your_code
.А затем передать URL через
DomSanitizer
Angular.источник
Есть решение, которое сработало для меня, обращаясь к родителю. После получения URL, который будет перенаправлен на страницу аутентификации Google, вы можете попробовать следующий код:
источник
Спасибо за вопрос. Для iframe YouTube первой проблемой является указанный вами URL-адрес, является ли он встроенным URL-адресом или URL-ссылкой из адресной строки. эта ошибка для URL без встраивания, но если вы хотите указать URL без встраивания, вам нужно кодировать как «безопасный канал» (как для не встроенного, так и для встраиваемого URL):
это будет разделять "vedioId". Вы должны получить идентификатор видео, а затем установить URL-адрес как встроенный. В HTML
Angular 2/5 еще раз спасибо.
источник
добавить ниже с URL суффикс
источник
У меня была похожая проблема с чатом на YouTube, и я понял это. Может быть, есть аналогичное решение для аналогичной проблемы.
Моя веб-страница работает с www и без него. Поэтому, чтобы это работало, вам нужно убедиться, что вы загрузили тот, который указан в значении embed_domain = ... Возможно, вам не хватает переменной, чтобы указать, куда вставлять ваш iframe. Чтобы решить мою проблему, пришлось написать скрипт для определения правильной веб-страницы и выполнения правильного встроенного доменного имени в iframe.
или
Поймите, что вы не используете iframes, но все же может быть некоторая переменная, которую вам нужно добавить в свой синтаксис, чтобы указать, где будет использоваться скрипт.
источник
С подобной проблемой столкнулся при использовании iframe для выхода из под-сайтов с разными доменами. Решением, которое я использовал, было сначала загрузить iframe, а затем обновить источник после загрузки кадра.
источник
YouTube / Embed, два вкуса:
https://www.youtube.com/embed/watch?v=eAxV4uO8oTU&list=RDeAxV4uO8oTU&start_radio=1 https://www.youtube.com/embed/CNG7yrHHJ5A
вставьте в браузер и увидите
оригинал:
https://www.youtube.com/watch?v=eAxV4uO8oTU&list=RDeAxV4uO8oTU&start_radio=1 https://www.youtube.com/watch?v=CNG7yrHHJ5A
один должен держать "смотреть? V =", другой нет
источник