2012-12-15 14 views
5

Dom'un gövde elemanına bir div ekleyen bir krom uzatma üzerinde çalışıyorum. Şu anda eleman yaratmak için yüke ateş eden bir olay işleyici oluşturuyorum. Bu, tabiki sayfanın tamamen yüklendiğini ve sonra div'umun eklendiğini, yani kullanıcının yükleme tamamlanana kadar sayfayı div olmadan görmesi anlamına gelir ve sonra div açılır. Sayfa yüklenirken div'in orada olmasını isterim. Başka elementler yazılmadan önce vücut elemanını kaçırmanın bir yolu var mı? Ya da her nasılsa, her şey yüklenene kadar içeriği gizlemek zorundayım, elbette ki kullanıcının bir süre boş bir ekran görmesi anlamına gelir.Sayfa yüklenirken DOM elemanının yerleştirilmesi, daha sonra değil

Mümkünse jQuery'den kaçınmak istiyorum.

+0

"run_at" işlevini kullanın: "document_end", kullanıcının DOM'ta bu değişikliği görmeyeceğini garanti etmese de, div'ın mümkün olduğunca erken * enjekte edildiğini garanti edecektir. –

cevap

1

% 100 emin değilim, ancak Chrome uzantısı geliştirici kılavuzuna bakıyorum, bir İçerik Komut Dosyası kullanıyorsanız ve uzantınızın bildiriminde bulunan run_at alanını belirtin, daha sonra dosyaları önce enjekte etmelidir DOM inşa edilmiştir.

+0

Doğru. Not: document_start'da, document.body henüz mevcut değil. "Document.documentElement.appendChild (element); –

+0

@RobW kullanarak enjekte etmeniz gerekiyor, böylece enjekte edilen" div "," body "dışına yerleştirilecek mi? Bu yanlış html gibi görünüyor. – Stan

+0

@Stan document_start adresinde yalnızca mevcut etiket 'dur, bu yüzden tek seçenek. Ve bu yöntemin başarısız olduğu bir sayfayla karşılaşmadım. –

İlgili konular