Chrome'un dev konsoldaki dizgileri kesmesini engelleyebilir miyim?


46
> ary = new Array('test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test.');
> JSON.stringify(ary)
"["test msg kinda long but gets the point across and such and it shows ellipsises... (length: 116)"

Tam nesneyi gerçekten istiyorum, ancak Chrome sonucu yaklaşık 80 karaktere kırpmak istiyor. Konsol ayarlarında bunu değiştirecek hiçbir şey görmüyorum.

Yanıtlar:


42

Geçenlerde Chrome geliştirme araçlarının copypanoya kopyalayan bir işlevi olduğunu keşfettim - kısaltmadan! Ayrıca, nesneleri doğrudan JSON'a ve DOM öğelerine HTML'ye, panoya yönlendirir.

copy(someLongString); // no truncation!
copy({ foo : true }); // JSON
copy(someDOMElement); // HTML

Başka bir yerde analiz için panoya uzun bir dize kopyalamaya çalıştığım için, bu benim ihtiyaçlarıma mükemmel bir şekilde hizmet etti


3
bu kaygan; soruyu yanıtlamıyor olsa da, yorum
yapmalı

2
+1 bu çok kullanışlı. Verilen, teknik olarak soruyu yanıtlamıyor, ancak sorunun sorulmasına neden olan sorunu çözüyor - konsoldan tam, açılmamış metnin nasıl alınacağı. Sadece bir metin düzenleyicisine yapıştırın ve sıralanır.
15:58

Chrome'a ​​girdim: Uncaught ReferenceError: copy tanımlanmadı
arod

3
@ arod, sadece konsola girebilir, gobally değil
WickyNilliams

2
Bu da Firefox'ta çalışıyor.
Björn

16

console.dir(longstringhere) Eserleri.

copyBenim için de işe yaramadı, diyordu undefined.


1
Burada aynı. 'console.copy' işe yaramadı ama 'console.dir' çalıştı. Günümü kurtardın.
Betty,

2
copyişlev bir şey çıkarmaz (bu nedenle undefinedbeklenir), bunun yerine argümanı sistem tampon belleğinize kopyalar, sadece onu ( ctrl-v) herhangi bir düzenleyiciye yapıştırın
nazikus

1
çalışmıyor ....
Yossi Shasho

2
Konsoldan kopyalamanız gerekir; örneğin, değerin olduğu konsolu açın, konsolu açın, yazın copy(yourVariable). Ayrıca, sadece copydeğilconsole.copy
WickyNilliams

1
JS'deki her işlev belirtilmezse tanımsız döndürür. Yani aslında işe yarıyor.
atilkan

5

Bu davranış hala Chrome Sürüm 37.0.2062.103'te bulunmaktadır.

Bu hata ayıklama işlemi sırasında şunları kullanarak çözebilirsiniz: document.write ('My Real Long Long Debug Text');


Windows 7'de 37.0.2062.120 m: elips yok.
jcollum

Artık çalışmıyor ..
Totty.js


2

Bu resimde gösterildiği gibi, artık bunu yapmayan Chrome'u 32'ye yükseltin:

görüntü tanımını buraya girin


2
krom kanarya v36 + ... hala öyle. ... ama şimdi uzunluğu göstermiyor. örn long string...ends here.
gcb

Henüz yayımlanmamış bir krom sürümündesiniz. Ubuntu'da v33'te gerçekleşmiyor : imgur.com/RPCgR6f - benden önce indirdiniz mi?
jcollum

1
"sorunu çöz. eski bir tarayıcı sürümünü çalıştırmak mümkün değil" --- eski bir tarayıcı sürümü değil! Bugüne kadar ve v33 ubuntu içinde yaşıyorum. Pencerelerim kutu güncel ve v34. Nereden v36 aldığını bilmiyorum. "v33’de olmaz" - ve ekran görüntüsünün (v33’den) kanıtladığı gibi.
jcollum

1
Anahtar paket servisi bu hata / davranış 33 ya da 34 '
ten

1
Bu iyi. Bir hata raporu göndermelisiniz. Geçerli yana yayımlanan Chrome sürümünü bu yok, en yeni güncellemesinin söylediğim için beni downvote olmamalıdır yayımlanan Krom düzeltmeleri o sürümü. Ve Win7'deki V34 ve Ubuntu'daki V33 için de geçerlidir.
jcollum

2

Chrome 58'de (belki daha erken) Store as Global Variable, konsoldaki herhangi bir değerin içeriğindeki menüsünde, herhangi bir düzeyde iç içe olan menü seçeneğini kullanabilirsiniz . Seçilen değeri, hemen konsola giriş yapan benzersiz bir adı olan bir değişkene atar.

Sadece 400KB değerinde denedim!

Kaynak: https://stackoverflow.com/a/41726364/250838


2

Konsola verilen dizginin uzunluğu programlı olarak inspector.js içinde sınırlıdır. Varsayılan olarak 150 karaktere ayarlıdır. Konsola HTML olarak dönüştürüldüğü için uygulayabileceğiniz hiçbir CSS yok. Metin zaten kesildi.

Bunu değiştirebilirsin ama biraz çalışman gerekecek:

Gerekli ve Yararlı Araçlar:

• ack (demeti takma ack) veya ag. (büyük metin dosyalarını gerçekten hızlı aramak için).

• python için paktools. Krom kaynaklarını açmak için bunları düzenleyebilme. https://github.com/Magister/pak-tools .

• tercih edilen metin editörü.

  1. CD’nizin veya herhangi bir Chrome sürümüne göz atın. Chromium'u örnek olarak kullanıyorum, ancak yol diğer sürümlerde aynı:

    cd "/Applications/Chromium.app/Contents/Versions/YOURVERSION/Chromium Framework.framework/Resources/"
    
  2. Paketleri klonlayın veya indirin. Bu, krom kaynaklarını açmanıza, düzenlemenize ve yeniden paketlemenize izin verir. Madeni benim yerime ~./binkoydum ama sen her yere koyabilirsin. Örnekler yolumu yansıtacaktır:

  3. Şimdi Chrome/.../Chrome Framework.framework/Resouresklasörde yürütmek: python2 ~/.bin/unpack.py resources.pakvecd ./resouces

  4. Nerede olduğunu bulmak zorundasın. Dosyalar her zaman değişir ve bu yüzden asla aynı olmaz. $ ag "static linkify"Bu beni aldı 28542. İşlevi varsayılan olarak 2000 karaktere değiştirdim ve konsolda yatay kaydırma yapabilmek için css'i de güncelledim.

  5. Şimdi, açtığınız resouces klasörünün dışına geri dönün. Yürüt: python2 ~/.bin/pack.py resourcesve işte. Chrome'u yeniden başlattığınızda geliştiricileriniz artık özeldir.

UYARI: 6. Devtools ekibi dışarı çıkarsa, siz bilmeden çerçevenin versiyonlarını günceller. Ve yaparlarsa tüm modlarını kaybedersin. /Users/Op/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --uninstallTüm kilit taşı deamon'larını uygulayıp öldürerek bloke ediyorum

Tıkır tıkır çalışıyor.

görüntü tanımını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.