Webbox
Webbox, harici bir web sayfasını anket içine modal iframe olarak yerleştirir; sayımcıların formu terk etmeden harici araçlarla etkileşime girmesine olanak tanır.
Webbox, harici bir web sayfasını anket içine modal açılır pencere (iframe) olarak yerleştirir. Sayımcı etiket veya not metnindeki bir düğmeye dokunur, sayfa form içinde tam ekran kaplama olarak açılır ve kapatınca tam olarak kaldığı yere döner. Bu, referans materyallerini, haritaları, kontrol panellerini veya özel araçları ayrı bir tarayıcı sekmesi açmadan göstermenizi sağlar.
Sözdizimi
<webbox> HTML etiketini doğrudan bir label veya note etiket sütununa ekleyin:
<webbox src='https://example.com/reference' title='Referans Kılavuzu'>Referans Kılavuzunu Aç</webbox>
| Öznitelik | Açıklama |
|---|---|
src | iframe’de yüklenecek URL. Hem tek hem de çift tırnak destekler. |
title | Modal başlık çubuğunda görüntülenen metin. Düz metni destekler. |
| (içerik) | Anket alanında gösterilen tıklanabilir düğme etiketi |
Temel örnek
| type | name | label |
|---|---|---|
| note | ref_guide | <webbox src='https://docs.example.com/field-guide' title='Saha Kılavuzu'>Saha Kılavuzunu Aç</webbox> |
Bu, “Saha Kılavuzunu Aç” etiketli bir düğme oluşturur. Dokunulduğunda saha kılavuzu web sitesini gösteren bir modal açılır.
Harita yerleştirme
| type | name | label |
|---|---|---|
| note | area_map | <webbox src='https://maps.example.com/survey-area' title='Anket Bölgesi Haritası'>Haritayı Görüntüle</webbox> |
Form değerlerini yerleşik sayfaya aktarma
calculation sütunundaki concat() kullanarak form alanı değerlerini URL’ye ekleyin ve sonucu etikette referans alın:
| type | name | label | calculation |
|---|---|---|---|
| calculate | webbox_url | concat('https://dashboard.example.com/household?id=', ${household_id}) | |
| note | hh_dash | <webbox src='${webbox_url}' title='Hane Kontrol Paneli'>Kontrol Panelini Aç</webbox> |
<webbox> etiketindeki src özniteliği, etiket bir calculate alanından hesaplandığında ${fieldname} referanslarını destekler. Tam URL’yi bir calculate alanında oluşturun ve ona referans verin.
Tekrar etkileşimi: silme düğmeleri
Webbox ayrıca etiketler içinde tekrar gruplarını yönetmek için özel eylem etiketlerini destekler:
<delete-repeat-current>Bu satırı kaldır</delete-repeat-current>
<delete-repeat-last>Son satırı kaldır</delete-repeat-last>
Bunlar, dokunulduğunda tekrar örneklerini silen düğmeler oluşturur. Bunları tekrar grubunun içinde (veya hemen sonrasında) bir note alanına yerleştirin:
| type | name | label |
|---|---|---|
| begin_repeat | items | Öğe |
| text | item_name | Öğe adı |
| note | delete_btn | <delete-repeat-current>Bu öğeyi kaldır</delete-repeat-current> |
| end_repeat |
Yerleşik sayfayla iletişim (postMessage)
Webbox iframe’i ve üst form, tarayıcının postMessage API’sini kullanarak iletişim kurabilir. Üst, açıldığında iframe’e bir init mesajı gönderir. Yerleşik sayfa şununla yanıt verebilir:
delete-repeat-current— geçerli tekrar örneğinin silinmesini tetiklerdelete-repeat-last— son tekrar örneğinin silinmesini tetikler
Bu, özel web araçlarının (örn. çizim araçları, interaktif haritalar) kullanıcı iframe içinde bir eylemi onayladığında form eylemlerini tetiklemesine olanak tanır.
En İyi Uygulamalar
- Webbox’ı referans materyalleri (kılavuzlar, arama tabloları, haritalar) için kullanın — formda olması gereken verileri toplamak için değil.
- Yerleşik URL’nin cihazın ağından erişilebilir olduğundan emin olun — webbox bağlantı gerektirir.
- Yerleşik sayfayı mobil dostu tutun — modal maksimum 800px genişliğinde ve görünüm alanı yüksekliğinin %80’indedir.
- “Köy Haritasını Görüntüle” gibi açıklayıcı düğme metni kullanın; “Buraya tıklayın” gibi genel etiketler yerine.
- Sayımcılara modalı kapatmanın ankete döndürdüğünü bildirin — bazı kullanıcılar iframe kaplamayı nasıl kapatacağını bilmeyebilir.
Sınırlamalar
- Webbox, yerleşik URL’yi yüklemek için ağ bağlantısı gerektirir.
- Bazı harici siteler
X-Frame-OptionsveyaContent-Security-Policybaşlıkları aracılığıyla iframe’lere yerleştirmeyi engeller — bu siteler webbox ile kullanılamaz. - Modal, sayımcı sorudan uzaklaştığında kapanır — iframe’deki kaydedilmemiş durum kaybedilir.
- Webbox, rtSurvey web formu uzantısıdır ve diğer ODK uyumlu istemcilerde çalışmayabilir.