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>
  
ÖznitelikAçıklama
srciframe’de yüklenecek URL. Hem tek hem de çift tırnak destekler.
titleModal 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

typenamelabel
noteref_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

typenamelabel
notearea_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:

typenamelabelcalculation
calculatewebbox_urlconcat('https://dashboard.example.com/household?id=', ${household_id})
notehh_dash<webbox src='${webbox_url}' title='Hane Kontrol Paneli'>Kontrol Panelini Aç</webbox>

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:

typenamelabel
begin_repeatitemsÖğe
textitem_nameÖğe adı
notedelete_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 tetikler
  • delete-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

  1. Webbox’ı referans materyalleri (kılavuzlar, arama tabloları, haritalar) için kullanın — formda olması gereken verileri toplamak için değil.
  2. Yerleşik URL’nin cihazın ağından erişilebilir olduğundan emin olun — webbox bağlantı gerektirir.
  3. Yerleşik sayfayı mobil dostu tutun — modal maksimum 800px genişliğinde ve görünüm alanı yüksekliğinin %80’indedir.
  4. “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.
  5. 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-Options veya Content-Security-Policy baş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.
Bu sayfa yardımcı oldu mu?