Sorun giderme
Widget hiç görünmüyor
Bölüm başlığı “Widget hiç görünmüyor”| Belirti | Olası neden | Çözüm |
|---|---|---|
| Kapsayıcı olduğu gibi kalıyor | widget.js yüklenmedi |
Ağ sekmesinde https://api.mirac-ozdemir.com/widget.js isteğine bakın. İçerik engelleyici, CSP veya yanlış adres olabilir. |
Konsolda Refused to load the script / Refused to frame |
CSP | script-src ve frame-src kurallarını ekleyin: Güvenlik ve CSP. |
Konsolda [MiracOzdemirWidget] Invalid data-… |
Geçersiz öznitelik değeri | Uyarılar İngilizcedir; mesaj hangi özniteliğin ve hangi değerlerin beklendiğini söyler. Anahtar ^[a-z0-9]+(-[a-z0-9]+)*$ olmalı (2–64 karakter), data-locale tr/en, data-theme auto/light/dark/inherit, data-accent 6 onaltılık hane. Kapsayıcı atlanır. |
Konsolda Invalid data-inputs value |
data-inputs JSON nesnesi değil |
Çift tırnaklı geçerli bir JSON nesnesi verin: data-inputs='{"amount":"1000"}'. |
Konsolda Integrity / SRI hatası, betik çalışmıyor |
Sabitlediğiniz özet dosyayla eşleşmiyor | Manifestten güncel integrity değerini alın ve crossorigin="anonymous" eklediğinizden emin olun: Sürüm politikası. |
| Boş veya “bulunamadı” sayfası | Araç yok, yayında değil veya istenen dilde yok | key’i katalogdan doğrulayın; data-locale’i kontrol edin. |
| Sadece “bakım” bildirimi | Araç geçici olarak bakımda | Bekleyin; Durum sayfasına bakın. |
| Sayfa HTTP’de | Karma içerik engeli | Siteniz HTTPS ile sunulmalı. |
Betiği defer/async ile yüklüyorsanız ve kapsayıcıyı sayfa yüklendikten sonra eklediyseniz scan() veya mount() çağırın.
Yükseklik yanlış
Bölüm başlığı “Yükseklik yanlış”- Çubuk (scroll) oluşuyor veya boşluk kalıyor. Yükseklik içerik değiştikçe otomatik ayarlanır. Kapsayıcınıza sabit
heightveyaoverflow: hiddenverdiyseniz kaldırın; iframe’in kendisine CSS ile yükseklik zorlamayın. - İlk görünümde zıplama. Yükleyici bir iskelet yer tutucu çizer ve aynı
{araç, dil, görünüm}için son ölçülen yüksekliği sitenizinlocalStorage’ında (mo-widget-h:…) hatırlar; ilk ziyarette yükseklik bilinmediği için480px ayrılır.data-heightile aracın tipik yüksekliğini verin. Tarayıcı depolamayı engelliyorsa (gizli pencere, çerez engelleyici) yükseklik her ziyarette yeniden öğrenilir. - Düz iframe kullanıyorsunuz. Yüksekliği siz yönetmelisiniz: Düz iframe.
- Gizli sekmede yüklendi.
display:noneiçindeki bir kapsayıcıda ölçüm yapılamaz; sekme açıldığındaunmount+mountile yeniden kurun. - Widget geç beliriyor. iframe
readyolana kadar görünmez tutulur (en çok 15 saniye). Sayfanın üstündeki widget’lardadata-lazy="false"ile hemen yüklenmesini isteyin.
Olaylar gelmiyor
Bölüm başlığı “Olaylar gelmiyor”- Dinleyiciyi kapsayıcıya veya
document’e eklediğinizden emin olun; olaylar kabarcıklanır ancak iframe’in kendisine değil, kapsayıcıya gönderilir.<mo-calculator>kullanıyorsanızevent.targetöğenin içindeki kapsayıcıdır; dinleyiciyi öğeye de ekleyebilirsiniz. - Olay adları
mo:ready,mo:resize,mo:input,mo:result,mo:error,mo:select’tir (iki nokta üst üste ile).mo:selectyalnızca arama/kategori widget’larından gelir,mo:inputyalnızca hesaplayıcıdan. - Önizlemeyi yapılandırıcıda deneyin: olay günlüğü aynı olayları gösterir; orada geliyorsa sorun sayfanızdadır.
mo:resultyalnızca başarılı bir hesaplamadan sonra tetiklenir.mo:inputkullanıcı bir alanı düzenledikten ~250 ms sonra gelir.- Olayın
detail’inde beklediğiniz yeni alanlar (inputs,requestId,tool) yoksa embed sayfası eski olabilir;event.detail.featuresneyin desteklendiğini söyler.
Ön değerler uygulanmıyor
Bölüm başlığı “Ön değerler uygulanmıyor”- Alan adlarını araç tanımından alın ve özniteliklerde kebab-case yazın:
data-input-vat-rate-option→vatRateOption. JSON’da (data-inputs) alan adı camelCase’tir. - Bilinmeyen alanlar ve geçersiz değerler sessizce yok sayılır. Ondalıklar string (
"1234.56"), mantıksal değerlertrue/false, tarihlerYYYY-MM-DDolmalı; seçenek alanlarında seçenek anahtarını verin. Değer ≤ 64 karakter, en çok 50 alan. data-autorun="true"yalnızca girdiler geçerliyse hesaplar; eksik zorunlu alan varsa widget hata gösterir.data-view="result"ön değer gerektirir; ön değer yoksa sonuç paneli boş kalır.
Programatik çağrılar çalışmıyor
Bölüm başlığı “Programatik çağrılar çalışmıyor”update,setInputs,calculate,resetyalnızca mount edilmiş bir kapsayıcıda çalışır; aksi haldefalsedöner (calculateiseNOT_MOUNTEDile reddeder).<mo-calculator>için API’ye öğenin içindeki kapsayıcıyı verin (el.querySelector('[data-mo-mounted]')): Özel öğeler ve SDK.calculate()birErrordeğil,{ code, message, fields? }nesnesiyle reddeder.NOT_READY: iframe zamanında hazır olmadı;UNSUPPORTED: arama/kategori widget’ı ya da komutu bilmeyen eski bir embed sayfası.- Konsolda
window.MiracOzdemirWidget.update is not a functiongörüyorsanız sayfada eski (1.0) yükleyici önbellekte olabilir;widget.buildvewidget.featuresdeğerlerini kontrol edin./widget.jsen çok bir saat önbelleklenir. - Sayfanın temasını izleyen
theme="inherit"yalnızca yükleyicide vardır; düz iframe’de yoktur.
Hesaplama hataları
Bölüm başlığı “Hesaplama hataları”Widget içinde kırmızı hata görüyorsanız mo:error olayının code değerine bakın (Hata kodları). RATE_LIMITED aynı IP’den çok sayıda hesaplama yapıldığını gösterir; kısa süre bekleyin.
Tema veya dil uygulanmıyor
Bölüm başlığı “Tema veya dil uygulanmıyor”data-theme="auto"(varsayılan) ziyaretçinin sistem temasını izler; sayfanızın temasını değil. Sayfanızın temasına uymak içindata-theme="inherit"verin; tema değişince widget yeniden yüklenmeden güncellenir. Yükleyici sayfanızın temasınıdata-theme/data-bs-theme/data-color-modeözniteliklerinden,darkbenzeri sınıflardan veyacolor-scheme’den anlar; sitenizin tema mekanizması bunların hiçbirini kullanmıyorsaupdate(el, { theme: 'dark' })ile kendiniz bildirin.- Dil
data-localeile belirlenir; tarayıcı dilini otomatik izlemez. Dili değiştirmek iframe’i yeniden yükler (update(el, { locale })).
Hâlâ çözemediniz mi?
Bölüm başlığı “Hâlâ çözemediniz mi?”Bize şunları gönderin: sayfa adresi, data-* öznitelikleriniz, tarayıcı ve konsol çıktısı. Bkz. Destek.