İframe Etiketi web sayfasına diğer kökenleri (diğer siteler) gelen embed içerik olanağı sunar.
Teknik olarak, bir iframe yeni bir yuvalanmış gözatma bağlamı oluşturur. Bu, iframe'deki herhangi bir şeyin üst sayfaya müdahale etmediği ve bunun tersi olduğu anlamına gelir. JavaScript ve CSS, iframe'lere / iframe'lerden "sızma" yapmaz.
Birçok site, çeşitli şeyler gerçekleştirmek için iç çerçeveler kullanır. Codepen, Glitch veya sayfanın bir bölümünde kod yazmanıza izin veren diğer sitelere aşina olabilirsiniz ve sonucu bir kutu içinde görürsünüz. Bu bir iframe.
Şu şekilde bir tane yapabilirsiniz:
<iframe src="page.html"></iframe>
Bir URL de yükleyebilirsiniz:
<iframe src="https://site.com/page.html"></iframe>
Bir dizi genişlik ve yükseklik parametresi ayarlayabilir (veya bunları CSS kullanarak ayarlayabilirsiniz) aksi takdirde, iframe varsayılanlar olan 300x150 piksellik bir kutu kullanır:
<iframe src="page.html" width="800" height="400"></iframe>
Srcdoc
Srcdoc Nitelik bazı satır içi HTML göstermek için belirlemenizi sağlar. Bu bir alternatif src, ancak yeni ve Edge 18 ve daha düşük sürümlerde ve IE'de desteklenmiyor:
<iframe srcdoc="<p>My dog is a good dog</p>"></iframe>
Kum havuzu
Bu sandbox özellik, iframe'lerde izin verilen işlemleri sınırlamamıza olanak tanır.
Atlarsak, her şeye izin verilir:
<iframe src="page.html"></iframe>
"" Olarak ayarlarsak hiçbir şeye izin verilmez:
<iframe src="page.html" sandbox=""></iframe>
sandbox Özniteliğe seçenekler ekleyerek neye izin vereceğimizi seçebiliriz . Aralarına boşluk ekleyerek birden fazla olana izin verebilirsiniz.
Kullanabileceğiniz seçeneklerin eksik bir listesi:
allow-forms
: formların gönderilmesine izin verallow-modals
alert()
JavaScript'te çağırma dahil, modal pencereleri açmaya izin verallow-orientation-lock
ekran yönünü kilitlemeye izin verallow-popups
pop-up'lara, kullanmayawindow.open()
vetarget="_blank"
bağlantılara izin verallow-same-origin
yüklenen kaynağı aynı kaynak olarak değerlendirallow-scripts
yüklenen iframe'in komut dosyalarını çalıştırmasına izin verir (ancak pop-up'lar oluşturmaz).allow-top-navigation
iframe'e en üst düzey göz atma bağlamına erişim sağlar
Şu anda deneyseldir ve yalnızca Chromium tabanlı tarayıcılar tarafından desteklenmektedir; bu, üst pencere ile iç çerçeve arasındaki kaynak paylaşımının geleceğidir.
Bu sandbox
özniteliğe benzer , ancak aşağıdakiler dahil belirli özelliklere izin vermemize izin verir:
accelerometer
Sensors API Accelerometer arayüzüne erişim sağlarambient-light-sensor
Sensors API AmbientLightSensor arayüzüne erişim sağlarautoplay
video ve ses dosyalarını otomatik oynatmaya izin verircamera
getUserMedia API'sindenkameraya erişmeye izin verirdisplay-capture
getDisplayMedia API kullanılarak ekran içeriğine erişilmesine izin verirfullscreen
tam ekran moduna erişime izin verirgeolocation
Geolocation API 'ye erişime izin verirgyroscope
Sensors API Jiroskop arayüzüne erişim sağlarmagnetometer
Sensors API Magnetometer arayüzüne erişim sağlarmicrophone
getUserMedia API'sini kullanarak cihaz mikrofonuna erişim sağlarmidi
Web MIDI API'ye erişime izin verirpayment
Ödeme İsteği API'sine erişim sağlarspeaker
cihaz hoparlörlerinden ses çalmaya erişim sağlarusb
WebUSB API'ye erişim sağlar.vibrate
Titreşim API'sine erişim sağlarvr
WebVR API'ye erişim sağlar
Yönlendiren
Bir iframe yüklerken, tarayıcı onu Referer
üstbilgiye kimin yüklediği hakkında önemli bilgiler gönderir (single'a dikkat edin r
, birlikte yaşamamız gereken bir yazım hatası).
Yönlendirenin yanlış yazımı, bilgisayar bilimcisi Phillip Hallam-Baker'ın alanı HTTP spesifikasyonuna dahil etme önerisinden kaynaklandı. Yazım yanlışı, RFC 1945 Yorum Talebi standartlarına dahil edildiği sırada değiştirildi.
Bu referrerpolicy
özellik, yönlendireni yüklerken iframe'e gönderecek şekilde ayarlamamızı sağlar. Yönlendiren, sayfanın kimin yüklediğini bilmesini sağlayan bir HTTP başlığıdır. İzin verilen değerler şunlardır:
no-referrer-when-downgrade
bu varsayılandır ve geçerli sayfa HTTPS üzerinden yüklendiğinde ve iframe HTTP protokolüne yüklendiğinde yönlendireni gönderirno-referrer
yönlendiren başlığını göndermezorigin
yönlendiren gönderilir ve varsayılan olan kaynak + yolu değil, yalnızca kaynağı (bağlantı noktası, protokol, etki alanı) içerirorigin-when-cross-origin
iframe'de aynı kaynaktan (bağlantı noktası, protokol, etki alanı) yükleme yapılırken, yönlendiren tam biçiminde (kaynak + yol) gönderilir. Aksi takdirde sadece menşe gönderilirsame-origin
yönlendiren yalnızca iframe'de aynı kaynaktan (bağlantı noktası, protokol, etki alanı) yüklenirken gönderilirstrict-origin
Geçerli sayfa HTTPS üzerinden yüklüyse ve iframe HTTPS protokolünü de yüklüyse kaynağı yönlendiren olarak gönderir. İframe HTTP üzerinden yüklenirse hiçbir şey göndermezstrict-origin-when-cross-origin
orijini + yolu aynı orijin üzerinde çalışırken yönlendiren olarak gönderir. Geçerli sayfa HTTPS üzerinden yüklüyse ve iframe HTTPS protokolüne de yüklüyse kaynağı yönlendiren olarak gönderir. İframe HTTP üzerinden yüklenirse hiçbir şey göndermezunsafe-url
: Kaynaklar HTTP'den yüklenirken ve geçerli sayfa HTTPS üzerinden yüklendiğinde bile kaynak + yolu yönlendiren olarak gönderir