2012-02-14 20 views
6

Bunun hakkında bir araştırma yaptım. Bu konuda Stackoverflow hakkında birkaç mesaj var, ancak hiçbiri benim için bir cevaba sahip değil.Özellik değeri elde edilemiyor ____: object null veya undefined

Diğer yayınlarda olduğu gibi, Chrome veya Firefox'ta da çalışıyor. Fakat IE 9, 8, 7, & 6'da da aynı hatayı alıyorum. 9'u uyumluluk moduna zorladığınız hack'i denedim, ancak sorunu çözmüyor. IE 9'da - - konsola çalıştığını ve ihtiyacım işlevini döndürür window.microstrategy.bone("W2552_Ctl").styleHelper içine tipi (yani kimlik WYSIWYG tarafından yaratıldı, bana kızma) Bu Unable to get value of the property 'styleHelper': object is null or undefined söylüyor

, ironi ben eğer olmasıdır.

Evet, her şey $(document).ready ile doldurulur. Evet, yazım hatası yok. IE'nin neden bu kadar çok nefret ettiğini anlamıyorum. Herhangi bir yardım için teşekkür ederiz :)

Söz konusu kod basit bir değişken beyanıdır.

var ctlBone = window.microstrategy.bone(targetId + "_Ctl").styleHelper.ctlBone;

O IE doğru ve orada o nesneyi erişmeye çalışan ziyade atamak anlaşılıyor.

+0

Hatayı gerçekten yükselten kodu gösterebilirsiniz ... –

+0

Hatayı yükselten kod yalnızca bir değişken bildirimi. Hiçbir şey yapmıyor bile. Sadece bir değişken atamak. "Code", "var ctlBone = window.microstrategy.bone" (targetId + "_Ctl"). StyleHelper.ctlBone; 'şeklindedir. –

+0

'targetId' doğru mu? –

cevap

6

FINALLY!

SetTimeout ile ilgili bir sorun oldu. Görünüşe göre, IE setTimeout(function, miliseconds, param1, param2, param3); özellikle kırılıyor.

KAYNAK: http://arguments.callee.info/2008/11/10/passing-arguments-to-settimeout-and-setinterval/

+4

Sorunuza bağlı olarak setTimeout işlevini bile kullanmanın bir yolu yoktu. Bu yüzden bize kod örnekleri vermemiz önemlidir. – Sharon

+3

Özür dilerim. JavaScript dosyam 1000+ satır uzunluğunda ve bu iki özel bit çok uzak. Konuyla ilgili daha önce yaptığım araştırmalar göz önüne alındığında, IE'nin tarayıcıya özel bir şey olduğunu ve setTimeout'u değil nesneleri nasıl kullandığını düşündüm. –

2

ben $(document).ready(function(){ işlevinde ile size jQuery kod kaydırma değil düşündürmektedir. Ben de IE 9 8 7 dahil olmak üzere tüm tarayıcılarda iyi çalışıyor $(document).ready(function(){ yorum yaptıktan sonra aynı sorunla karşı karşıya.

+3

Bu tür bir şey yorum olarak bırakıldı. İhtiyacınız olan 50 itibar noktasını almak için çok uzun sürmemeliyiz. –

1

Tarayıcıyı uyumluluk modunda ayarlamayı deneyin - Araçlar, Uyumluluk Görünüm Ayarları ve Tüm web sitelerini Uyumluluk modunda görüntüle'yi seçin.