Saya mengembangkan situs web yang seharusnya responsif sehingga orang dapat mengaksesnya dari ponsel mereka. Situs ini memiliki beberapa bagian aman yang dapat login menggunakan Google, Facebook, ... dll (OAuth).
Backend server dikembangkan menggunakan ASP.Net Web API 2 dan ujung depan terutama AngularJS dengan beberapa Razor.
Untuk bagian otentikasi, semuanya bekerja dengan baik di semua browser termasuk Android tetapi otentikasi Google tidak berfungsi pada iPhone dan itu memberi saya pesan kesalahan ini
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'.
Sejauh ini saya khawatir saya tidak menggunakan iframe dalam file HTML saya.
Saya mencari di sekitar, tetapi tidak ada jawaban membuat saya untuk memperbaiki masalah ini.
angularjs
asp.net-web-api
google-oauth
Ali Hmer
sumber
sumber
Jawaban:
Saya menemukan solusi yang lebih baik, mungkin itu dapat membantu seseorang menggantinya
"watch?v="
dengan"v/"
dan akan bekerjasumber
<iframe width='1080' height='760' src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allowfullscreen></iframe>
OK setelah menghabiskan lebih banyak waktu untuk hal ini dengan bantuan posting SO ini
Mengatasi "Tampilan terlarang oleh X-Frame-Options"
Saya berhasil menyelesaikan masalah dengan menambahkan
&output=embed
ke bagian akhir url sebelum memposting ke URL google:sumber
Coba gunakan
Anda dapat menemukan semua kode sematan di bagian 'Kode Sematan' dan yang terlihat seperti ini
sumber
Mereka telah mengatur tajuk ke SAMAORIGIN dalam kasus ini, yang berarti bahwa mereka telah melarang pemuatan sumber daya dalam iframe di luar domain mereka. Jadi iframe ini tidak dapat menampilkan domain silang
Untuk tujuan ini, Anda harus mencocokkan lokasi di apache atau layanan lain yang Anda gunakan
Jika Anda menggunakan apache maka dalam file httpd.conf.
sumber
your_relative_path
?Jika Anda menggunakan iframe untuk vimeo, ubah url dari:
untuk:
Ini bekerja untuk saya.
sumber
Untuk menanamkan video youtube ke halaman angularjs Anda, Anda cukup menggunakan filter berikut untuk video Anda
sumber
Saya melakukan perubahan di bawah dan berfungsi dengan baik untuk saya.
Tambahkan saja atributnya
<iframe src="URL" target="_parent" />
_parent
: ini akan membuka halaman tertanam di jendela yang sama._blank
: Di tab berbedasumber
Bagi saya perbaikannya adalah masuk ke console.developer.google.com dan menambahkan domain aplikasi ke bagian "Javascript Origins" dari kredensial OAuth 2.
sumber
Agak terlambat, tetapi kesalahan ini juga bisa disebabkan jika Anda menggunakan
native application Client ID
aweb application Client ID
.sumber
Saya mengalami masalah yang sama dengan penerapan pada Angular 9. Ini adalah dua langkah yang saya lakukan:
Ubah URL YouTube Anda dari
https://youtube.com/your_code
menjadihttps://youtube.com/embed/your_code
.Dan kemudian melewati URL melalui
DomSanitizer
Angular.sumber
Ada solusi yang berhasil untuk saya, merujuk pada orang tua. Setelah mendapatkan url yang akan dialihkan ke halaman autentikasi Google, Anda dapat mencoba kode berikut:
sumber
Terima kasih untuk pertanyaannya. Untuk YouTube iframe masalah pertama adalah URL yang Anda berikan, apakah itu URL yang disematkan atau tautan URL dari bilah alamat. kesalahan ini untuk URL yang tidak diembed tetapi jika Anda ingin memberikan URL yang tidak diembed maka Anda perlu kode seperti "safe Pipe" seperti (untuk URL yang tidak di-embed atau di-embed):
itu akan membagi "vedioId". Anda harus mendapatkan id video kemudian menetapkan ke URL sebagai tertanam. Dalam Html
Sudut 2/5 terima kasih lagi.
sumber
tambahkan di bawah ini dengan Akhiran URL
sumber
Punya masalah serupa embed youtube chat dan saya mengetahuinya. Mungkin ada solusi serupa untuk masalah serupa.
Halaman web saya berfungsi dengan www dan tanpa www. Jadi untuk membuatnya bekerja, Anda perlu memastikan Anda memuat salah satu yang terdaftar di embed_domain = nilai ... Mungkin ada variabel Anda yang hilang untuk memberitahu di mana harus menanamkan iframe Anda. Untuk memperbaiki masalah saya harus menulis skrip untuk mendeteksi halaman web yang tepat dan menjalankan nama domain embr iframe yang tepat.
atau
Pahami bahwa Anda tidak menggunakan iframe, tetapi masih ada beberapa variabel yang perlu Anda tambahkan ke sintaks Anda untuk memberi tahu di mana skrip akan digunakan.
sumber
Mengalami masalah serupa saat menggunakan iframe untuk keluar dari sub situs dengan domain berbeda. Solusi yang saya gunakan adalah memuat iframe terlebih dahulu, kemudian memperbarui sumber setelah frame dimuat.
sumber
youtube / embed, dua rasa:
https://www.youtube.com/embed/watch?v=eAxV4uO8oTU&list=RDeAxV4uO8oTU&start_radio=1 https://www.youtube.com/embed/CNG7yrHHJ5A
rekatkan di browser Anda dan lihat
asli:
https://www.youtube.com/watch?v=eAxV4uO8oTU&list=RDeAxV4uO8oTU&start_radio=1 https://www.youtube.com/watch?v=CNG7yrHHJ5A
satu harus tetap "menonton? V =", yang lain tidak
sumber