İ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-modalsalert()JavaScript'te çağırma dahil, modal pencereleri açmaya izin verallow-orientation-lockekran yönünü kilitlemeye izin verallow-popupspop-up'lara, kullanmayawindow.open()vetarget="_blank"bağlantılara izin verallow-same-originyüklenen kaynağı aynı kaynak olarak değerlendirallow-scriptsyüklenen iframe'in komut dosyalarını çalıştırmasına izin verir (ancak pop-up'lar oluşturmaz).allow-top-navigationiframe'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:
accelerometerSensors API Accelerometer arayüzüne erişim sağlarambient-light-sensorSensors API AmbientLightSensor arayüzüne erişim sağlarautoplayvideo ve ses dosyalarını otomatik oynatmaya izin verircameragetUserMedia API'sindenkameraya erişmeye izin verirdisplay-capturegetDisplayMedia API kullanılarak ekran içeriğine erişilmesine izin verirfullscreentam ekran moduna erişime izin verirgeolocationGeolocation API 'ye erişime izin verirgyroscopeSensors API Jiroskop arayüzüne erişim sağlarmagnetometerSensors API Magnetometer arayüzüne erişim sağlarmicrophonegetUserMedia API'sini kullanarak cihaz mikrofonuna erişim sağlarmidiWeb MIDI API'ye erişime izin verirpaymentÖdeme İsteği API'sine erişim sağlarspeakercihaz hoparlörlerinden ses çalmaya erişim sağlarusbWebUSB API'ye erişim sağlar.vibrateTitreşim API'sine erişim sağlarvrWebVR 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-downgradebu varsayılandır ve geçerli sayfa HTTPS üzerinden yüklendiğinde ve iframe HTTP protokolüne yüklendiğinde yönlendireni gönderirno-referreryönlendiren başlığını göndermezoriginyönlendiren gönderilir ve varsayılan olan kaynak + yolu değil, yalnızca kaynağı (bağlantı noktası, protokol, etki alanı) içerirorigin-when-cross-originiframe'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-originyönlendiren yalnızca iframe'de aynı kaynaktan (bağlantı noktası, protokol, etki alanı) yüklenirken gönderilirstrict-originGeç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-originorijini + 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
