Akses URL Induk daripada iFrame: Sekatan dan Penyelesaian
Mengakses URL bingkai induk daripada iFrame boleh menjadi satu cabaran, terutamanya apabila iFrame terletak pada subdomain yang berbeza. Ini disebabkan oleh sekatan keselamatan yang dikenakan oleh langkah pencegahan skrip rentas tapak (XSS).
Apabila mengakses iFrame daripada domain dan subdomain yang sama seperti bingkai induk, mengakses lokasi induk haruslah mudah menggunakan ungkapan seperti induk .document.location atau parent.window.location. Walau bagaimanapun, seperti yang diserlahkan oleh pengguna, pendekatan ini gagal apabila iFrame berada pada subdomain yang berbeza.
Untuk menggambarkan lebih lanjut perkara ini, pertimbangkan contoh yang disediakan di mana pageA.html dihoskan pada http://www.mysite .com/ dan pageB.html (iFrame) dihoskan pada http://qa-www.mysite.com/. Percubaan untuk mendapatkan semula URL induk daripada pageB.html akan mencetuskan ralat dinafikan akses. Ini mengesahkan bahawa subdomain juga tertakluk pada sekatan skrip merentas tapak.
Semasa mengakses URL induk secara langsung adalah dilarang dalam keadaan ini, terdapat penyelesaian yang boleh digunakan. Untuk mendapatkan URL bingkai induk, kod JavaScript berikut boleh digunakan:
var url = (window.location != window.parent.location) ? document.referrer : document.location.href;
Nota:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan URL Halaman Induk daripada iFrame pada Subdomain Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!