Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Mendapatkan Gaya Pengiraan daripada Iframe Merentas Domain?

Bagaimanakah Saya Boleh Mendapatkan Gaya Pengiraan daripada Iframe Merentas Domain?

Barbara Streisand
Barbara Streisandasal
2024-12-05 04:05:16517semak imbas

How Can I Get Computed Styles from a Cross-Domain Iframe?

Cara Mendapatkan semula Gaya Dikira daripada Kandungan Merentas Domain

Masalah:

Mengakses nilai tinggi dan lebar yang dikira elemen daripada iframe merentas domain boleh mencabar, terutamanya jika anda tidak dapat mengakses kandungan iframe secara langsung.

Penyelesaian:

Menggunakan Fungsi Khusus Penyemak Imbas:

  • Firefox, Opera, Safari: window.getComputedStyle(elemen)
  • IE: element.currentStyle

Memohon pada Kandungan Merentas Domain:

Untuk mendapatkan semula gaya yang dikira daripada kandungan merentas domain, anda boleh menggunakan window.getComputedStyle dalam pelayar atau elemen moden.currentStyle dalam IE. Walau bagaimanapun, fungsi ini hanya berfungsi pada elemen dalam dokumen semasa, jadi anda perlu menavigasi ke DOM iframe sebelum menggunakannya.

Contoh (WebKit):

window.getComputedStyle(document.getElementById("frameId"), null).getPropertyValue("height")

Fungsi jQuery asli:

Sebagai alternatif, anda boleh menggunakan fungsi .height() jQuery, yang memudahkan proses:

$('#frameId').height();

Nota Tambahan:

  • Adalah penting untuk ambil perhatian bahawa window.getComputedStyle mengembalikan tidak berubah objek dengan gaya yang dikira, manakala element.currentStyle mengembalikan objek langsung yang boleh berubah sebagai gaya elemen berubah.
  • Anda mungkin perlu menambah ID pada elemen kepala dalam iframe untuk memudahkan pemilihan kemudian.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Gaya Pengiraan daripada Iframe Merentas Domain?. 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