JSNI

2011-09-05 13 views
7

'daki doc.getElementById ("id") ve document.getElementById ("id") arasındaki fark nedir? GWT uygulamasında yerel bir işlevde çalışıyorum ve şu iki yöntemi denedim: document .getElementById ("id") boş döndürür, ancak $ doc.getElementById() geçerli bir öğe döndürür. Bu yöntem arasındaki fark (kavramsal olarak) hangisidir? Şimdiden teşekkürler.JSNI

cevap

7

GWT uygulamanızın kodu bir (gizli) iframe içinde çalışır; bu nedenle document, iframe belgesinin (ve window iframe'in göz atma bağlamı) olduğunu belirtir. GWT, GWT uygulamasını yükleyen "ana sayfa" nın belgesine ve göz atma içeriğine (penceresi) kolayca başvuru yapabilmeniz için $doc ve $wnd değişkenlerini başlatır. bağlayıcıları derlenmiş kod yüklenir nasıl karar

Not varsayılan bir (std) ve daha yeni xsiframe kullanım Iframe'ler, kullanımdan kaldırılan xs yükler oysa aynı tarama bağlamı (şimdiye $doc == document ve $wnd == window)

2

daki kod GWT JSNI page:

Kodun, doğrudan yöntem içinde JavaScript pencere nesnesine başvurmadığını unutmayın. Tarayıcı penceresine ve belge nesnelerine JSNI'den erişirken, bunları sırasıyla $ wnd ve $ doc olarak göndermelisiniz. Derlenmiş komut dosyanız yuvalanmış bir çerçevede çalışır ve ana sayfanın penceresine ve belgesine doğru bir şekilde başvurmak için $ wnd ve $ doc otomatik olarak başlatılır.