Junior
Projelerinde iframe öğesini nasıl kullandınız?
sobes.tech yapay zeka
AI'dan gelen yanıt
<iframe> kullanımıyla:
- Diğer alan adlarından içerik gösterimi: Harici widget'ların gömülmesi (haritalar, video oynatıcılar), reklam blokları, hizmetlerle entegrasyonlar.
- İzolasyon ortamları oluşturma: Ana sayfayı etkilemeden harici JavaScript kodu veya stiller çalıştırma. Örneğin, kullanıcı içeriği görüntüleme sırasında sandbox veya kod düzenleyicileri başlatmak.
- Alanlar arası etkileşim:
window.postMessagekullanarak ana sayfa ile<iframe>içeriği arasında veri aktarımı. - Statik HTML sayfalarının gömülmesi: Bir sitenin veya belgenin bir bölümünü tam gezinme olmadan gösterme.
window.postMessage ile kullanım örneği:
Ana sayfa:
// iframe'e mesaj gönder
const iframe = document.getElementById('my-iframe');
iframe.contentWindow.postMessage('merhaba ana sayfadan', 'https://trusted-domain.com');
// iframe'den mesaj al
window.addEventListener('message', (event) => {
// Güvenlik için mesaj kaynağını kontrol et
if (event.origin === 'https://trusted-domain.com') {
console.log('iframe'den mesaj:', event.data);
}
});
iframe içindeki sayfa:
// ana sayfadan mesaj al
window.addEventListener('message', (event) => {
// Güvenlik için mesaj kaynağını kontrol et
if (event.origin === 'https://parent-domain.com') {
console.log('ana sayfadan:', event.data);
// ana sayfaya cevap gönder
event.source.postMessage('iframe’dan merhaba', event.origin);
}
});
Video gömme örneği:
<iframe
src="https://www.youtube.com/embed/VIDEO_ID"
width="560"
height="315"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
></iframe>
<iframe> ile çalışırken, özellikle sandbox özniteliği ve window.postMessage kullanırken event.origin doğrulamasına dikkat edilmelidir. Ayrıca, içeriğin arama motorları tarafından indekslenmesi nedeniyle SEO açısından da dikkate alınmalıdır.