SORU
11 Kasım 2011, Cuma


JS ile web'Geliştirici Araçları devreye kadar 9 t çalışmıyor

Ağır bir WordPress kullanmak ve komut bir dizi sayesinde, karmaşık bir web sitesi geliştiriyorum. Sitenin yükü, benim komut dosyası hiçbiri çalışmıyor diğer komut iyi çalışır durumda olduğunu teyit edebilirim olsa). SE burada böyle saçma bir soru tek bir şey hariç: nakil olmazdım

Benim sorun hata ayıklama böylece F12 geliştirici araçlarını açmak için vurduğum an, her şey anında mükemmel çalışıyor!

Ben tarayıcıyı kapat, Çalıştır, Dev Araçlar ilk açın ve siteyi ziyaret ederseniz daha da kötüsü, her şeyin beklendiği gibi çalışır.

Hatta Dev Araçlar giderir çünkü bela sorun debug edemiyorum! Dev Araçlar işler yapıyor ne yapıyor olabilir? (Bazı jQuery.UA değiştirmez algılama tarayıcı)? Bir şey doctype?

EDİT

Günlük Tüm konsol aşağıdaki sarıcı yardımcı program işlevi sarılmış

   function log(msg){
    if (console){
        console.log(msg);
    }
   }

Deneyebilirim herhangi bir düşünce veya bir öneriniz hoş olurdu. Eğer bir çözüm bulursam buraya post ederim.

CEVAP
10 ŞUBAT 2012, Cuma


Parti burada oldukça geç kaldım, takdir ediyorum, ama biraz farklı bir durum 9 için bir çözüm var.

(function() {
    var temp_log = [];
    function log() {
        if (console && console.log) {
            for (var i = 0; i < temp_log.length; i  ) {
                console.log.call(window, temp_log[i]);
            }
            console.log.call(window, arguments);
        } else {
            temp_log.push(arguments);
        }
    }
})();

console.log yerine sadece log kullanın. Eğer console.log o zaman normal olarak çalışıyor varsa, aksi takdirde bir dizi günlük girişleri, depolar ve bir sonraki console bulunduğu log onları çıkarır.

Eğer veriler console mevcuttur, ama bu özel setınterval bir dinleyici kurmak daha az pahalı olduğunu bir an önce itti eğer iyi olurdu.

Güncelleştirilmiş işlev (1 Ekim 2012)

Benim kendi kullanımı için bu komut dosyasını güncelledik ve paylaşmak düşündüm. Birkaç layık bir gelişme var:

  • normal gibi console.log(), yani kullanımı artık kullanmaya gerek olmayan standart log()
  • birden çok bağımsız değişken, console.log('foo', 'bar') örneğin destekler
  • ayrıca console.error, console.warn console.info console.log olarak çıkışları olsa da) kullanabilirsiniz
  • script console Her yerel 1000ms arar ve bulduğunda tampon çıktılar

Bu gelişmeler sanırım bu 9 için oldukça sağlam bir dolgu haline gelmiştir.Check out the GitHub repo here.

if (!window.console) (function() {

    var __console, Console;

    Console = function() {
        var check = setInterval(function() {
            var f;
            if (window.console && console.log && !console.__buffer) {
                clearInterval(check);
                f = (Function.prototype.bind) ? Function.prototype.bind.call(console.log, console) : console.log;
                for (var i = 0; i < __console.__buffer.length; i  ) f.apply(console, __console.__buffer[i]);
            }
        }, 1000); 

        function log() {
            this.__buffer.push(arguments);
        }

        this.log = log;
        this.error = log;
        this.warn = log;
        this.info = log;
        this.__buffer = [];
    };

    __console = window.console = new Console();
})();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • Ludique

    Ludique

    21 NİSAN 2009
  • Utah Valley Online

    Utah Valley

    9 AĞUSTOS 2010