Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Dapatkan URL daripada IFRAME?

Bagaimanakah Saya Boleh Dapatkan URL daripada IFRAME?

Patricia Arquette
Patricia Arquetteasal
2024-11-22 06:26:25965semak imbas

How Can I Retrieve the URL from an IFRAME?

Mengambil semula URL Semasa daripada IFRAME

Apabila memaparkan kandungan daripada sumber luaran dalam IFRAME, adalah wajar untuk mengakses URL bagi halaman yang dipaparkan. Walau bagaimanapun, disebabkan oleh had keselamatan, akses ini hanya boleh dilakukan dalam keadaan tertentu.

Sekatan Keselamatan Rentas Asal

Atas sebab keselamatan, mendapatkan semula URL daripada IFRAME dalam JavaScript tertakluk pada sekatan merentas domain. Khususnya, URL hanya boleh diperolehi apabila IFRAME dan JavaScript rujukan dihoskan pada domain yang sama.

Mengakses URL Apabila Domain Padan

Dalam senario di mana kandungan IFRAME dan JavaScript rujukan dihidangkan dari domain yang sama, mendapatkan URL semasa adalah mudah:

document.getElementById("iframe_id").contentWindow.location.href

Ganti "iframe_id" dengan pengecam IFRAME tertentu.

Had Merentas Domain

Walau bagaimanapun, apabila domain daripada IFRAME dan halaman induk berbeza (merentas domain), langkah keselamatan skrip merentas tapak (XSS) menghalang pengambilan URL terus. Ini kerana membenarkan akses tanpa had kepada maklumat URL daripada domain luaran menimbulkan risiko keselamatan.

Penyelesaian Alternatif

Jika domain tidak sepadan dan pengambilan URL terus tidak dapat dilakukan , pertimbangkan penyelesaian alternatif:

  • Domain anak yang disampaikan daripada domain induk: Hos IFRAME kandungan pada subdomain domain induk, membenarkan akses kepada URL.
  • Komunikasi Ajax: Wujudkan sambungan terus antara halaman induk dan domain anak menggunakan teknik Ajax untuk mendapatkan semula URL dari jauh.
  • Perkongsian sumber silang asal (CORS): Dengan CORS, pelayan boleh secara eksplisit membenarkan permintaan silang asal, membolehkan akses kepada URL di bawah tertentu syarat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan URL daripada IFRAME?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn