Tarayıcıda CSS'yi test amacıyla devre dışı bırakma


116

Bir tarayıcıdaki (Firefox, Chrome ...) tüm harici CSS'yi devre dışı bırakmanın bir yolu var mı?

Daha yavaş internet bağlantısı kullanıldığında, bazen CSS bilgisi olmadan tarayıcı tarafından yalnızca çıplak HTML yüklenir. Görünüşe göre sayfa ekrana ham yerleştirilmiş. Bunu StackOverflow ile de fark etmişsinizdir.

CSS dosyaları yüklenmemiş olsa bile web sayfamın düzgün göründüğünden emin olmak istiyorum.

Harici CSS'yi satır içi olarak dönüştürmek istediğimi söylemedim. Ancak, tüm CSS'yi tarayıcıdan açıkça devre dışı bırakmanın bir yolunu istiyorum, böylece öğelerimi daha iyi ve okunabilir bir şekilde yeniden konumlandırabilirim.

<Link rel = 'stylesheet'> girişlerini kaldırabileceğimi biliyorum, ama ya çok sayıda bağlantılı sayfam varsa?


4
Bu çok güzel bir soru. Göründüğü üzere, örneğin, Chrome, yazar stil sayfalarının standart bir kullanıcı için kabul edilebilir bir şekilde "kapatılmasına" izin vermez. Bu, Chrome'un, "UA, kullanıcının yazar stil sayfalarının etkisini kapatmasına izin vermesi gerektiği" söylendiği spesifikasyonun 3.2.6 Bölümünde görülebileceği gibi, CSS 2.1'e uymamasına neden olur. Aynı şey, yerel olarak izin vermeyen diğer tarayıcılar için de geçerli olabilir.
NicBright

1
seçin sayfayı sağ tıklayıp inceleyin , içerik menüsünden bulun <head>etiketi sağ tıklayın ve almak Sil elemanı .
ccpizza

Yanıtlar:


59

Firefox ve Chrome için Web Developer eklentisi bunu yapabilir

Eklentiyi yükledikten sonra seçenek CSS menüsünde mevcuttur. Örneğin,CSS > Disable Styles > Disable All Styles

Alternatif olarak, geliştirici araç çubuğu etkinken tuşuna basabilirsiniz Alt+Shift+A.


10
Orada nasıl yapılacağını belirtebilir misin?
John Dvorak

Teşekkürler ... Firebug bu özelliğe sahip mi?
ATOzTOA

3
Firebug, bazı seçicileri seçerek devre dışı bırakmanıza / etkinleştirmenize ve mevcut CSS'yi canlı olarak düzenlemenize olanak tanır, böylece bir anlamda mümkündür. Amacınız için Web Developer eklentisi daha uygun görünse de, bir sitenin eski / mobil tarayıcılar için erişilebilirliğini değerlendirmek için diğer yararlı araçların yanı sıra tüm CSS veya belirli stil sayfalarını devre dışı bırakma seçeneğiniz vardır.
JoelKuiper

7
Bu cevabın nasıl yapılacağına dair herhangi bir bilgisi yok, sorunun sorduğu da bu.
NessDan

1
Paciello Group, IE 9/10/11’de çalışan benzer bir Araç Çubuğuna sahiptir. paciellogroup.com/resources/wat
RPNinja

70

Chrome / Chromium'da bunu geliştirici konsolundan yapabilirsiniz.

  1. Geliştirici konsolunu ctrl-shift-j veya Menü-> Araçlar-> Geliştirici Konsolu ile açın.
  2. Geliştirici konsolunda Kaynaklar sekmesine gidin.
  3. Bu sekmenin sol üst köşesinde açıklama üçgenine sahip bir simge bulunur. Üstüne tıkla.
  4. <Etki alanı> → css → <ortadan kaldırmak istediğiniz css dosyasına göz atın>
  5. Tüm metni vurgulayın ve sil düğmesine basın.
  6. Devre dışı bırakmak istediğiniz her stil sayfası için durulayın ve tekrarlayın.

4
Çok fazla kaynağınız varsa ve CSS'nin nerede iç içe olduğunu bulmak istiyorsanız, Ağ sekmesinden başlayın ve yanıtları yalnızca Stil Sayfalarını içerecek şekilde filtreleyin. Ardından yanıta sağ tıklayın ve "Kaynaklar panelinde aç" seçeneğine tıklayın. Sonra Ctrl + A, Del
KyleMit

@MartinF "Küçük oyun oku", tam anlamıyla bir açıklama üçgeni / açıklama widget'ı olarak adlandırılır.
jsejcksn

Sen tanrısın
Rajat Saxena

21

Firefox (Win ve Mac)

  • Menü araç çubuğundan, "Görünüm"> "Sayfa Stili"> "Stil Yok" u seçin
  • Web Geliştirici Araç Çubuğu aracılığıyla, "CSS"> "Stilleri Devre Dışı Bırak"> "Tüm Stiller" öğesini seçin.

Web Geliştirici Araç Çubuğu yüklüyse, insanlar şu klavye kısayollarını kullanabilir: Command+ Shift+ S(Mac) ve Control+ Shift+ S(Win)

  • Safari (Mac): Menü araç çubuğu aracılığıyla, "Geliştir"> "Stilleri Devre Dışı Bırak" ı seçin
  • Opera (Win): Menü aracılığıyla "Sayfa"> "Stil"> "Kullanıcı Modu" nu seçin
  • Chrome (Win): Dişli çark simgesiyle "CSS" sekmesini> "Tüm Stilleri Devre Dışı Bırak" ı seçin
  • Internet Explorer 8: Menü araç çubuğundan "Görünüm"> "Stil"> "Stil Yok" u seçin
  • Internet Explorer 7: IE Geliştirici Araç Çubuğu menüsü aracılığıyla: Devre Dışı Bırak> Tüm CSS
  • Internet Explorer 6: Web Erişilebilirlik Araç Çubuğu aracılığıyla, "CSS"> "CSS'yi Devre Dışı Bırak" ı seçin

4
Chrome (Win): bu seçenek artık yok gibi görünüyor; @David Baucum'un aşağıdaki cevabı işe yarıyor.
David Cook

17

Bu komut dosyası benim için çalışıyor (şapka ipucu hurdaya çıkarılmışcola)

var el=document.getElementsByTagName('*');for(var i=0;i<el.length; i++){if (el[i].getAttribute("type")=="text/css") el[i].parentNode.removeChild(el[i]); };

satır içi stil bozulmadan kalır


7
$('style,link[rel="stylesheet"]').remove()jQuery varsa aynı sonuca ulaşır. Twitter.com/janlelis/status/433250838757126146 adresinden .
TuteC

1
Bu harika, sadece kromda F12'ye basın, konsola göz atın, yapıştırın ve girin.
Eric Bishard

11

Scrappedocola / renergy'nin fikrini genişleterek, JavaScript'i uri'ye karşı çalışan bir yer imine dönüştürebilirsiniz , javascript:böylece kod, geliştirme araçlarını açmanıza veya panonuzda herhangi bir şeyi tutmanıza gerek kalmadan birden çok sayfada kolayca yeniden kullanılabilir.

Aşağıdaki parçacığı çalıştırın ve bağlantıyı yer imleri / sık kullanılanlar çubuğunuza sürükleyin:

<a href="javascript: var el = document.querySelectorAll('style,link');
         for (var i=0; i<el.length; i++) {
           el[i].parentNode.removeChild(el[i]); 
         };">
  Remove Styles 
</a>

  • Bir sayfadaki binlerce öğenin arasında dolaşmaktan kaçınırdım. getElementsByTagName('*') ve her birini ayrı ayrı kontrol .
  • $('style,link[rel="stylesheet"]').remove()Ekstra javascript aşırı derecede hantal olmadığında , sayfada bulunan jQuery'ye güvenmekten kaçınırım .

Bunu yapmanın en hızlı yolu bu, bu yöntemi seviyorum.
ling

Satır içi CSS'yi temizlemek için: document.querySelectorAll('*[style]').forEach((e)=>e.removeAttribute('style'));Yalnızca mevcut styleniteliklere sahip öğeleri yineler .
Mat Gessel

10

Adblock Plus'ı yükleyin, ardından *.cssFiltreler seçeneklerinde kural ekleyin (özel filtreler sekmesi). Yöntem yalnızca harici stil sayfalarını etkiler . Satır içi stilleri kapatmaz.

Tüm harici CSS'yi devre dışı bırakın

Bu yöntem tam olarak istediğini yapıyor.


1
Bu, sayfayı yeniden yüklediğinizde hala çalışan tek çözümdür. Maalesef reklamlarla test edemezsiniz.
sinuhepop

1
@sinuhepop ABP'deki tüm filtre listelerini devre dışı bırakabilirsiniz. Bu çalışmıyor mu?
Tuupertunut

Elbette! Deneyeceğim. Teşekkürler
sinuhepop

4

@David Baucum'un çözümüne daha az adımda ulaşmanın başka bir yolu :

  1. Sağ tıklayın -> öğeyi inceleyin
  2. Öğenizi etkileyen stil sayfasının adına tıklayın (bildirimin hemen sağ tarafında)
  3. Tüm metni vurgulayın ve sil düğmesine basın.

Bazı durumlarda daha kullanışlı olabilir.


4

Yanıtların çoğu burada oldukça eski göründüğünden, popüler tarayıcıların mevcut sürümlerinde bulamadığım menü öğelerine atıfta bulunarak, Firefox Developer Edition'daki mevcut sürümde bunu şu şekilde yapabilirsiniz:

  • Geliştirici Araçlarını Aç ( CTRL + SHIFT + I)
  • Stil Editörü sekmesini seçin
  • Orada belgenizdeki tüm CSS kaynaklarını görmelisiniz. Yanlarındaki göz simgesine tıklayarak her birini devre dışı bırakabilirsiniz.

Beyaz göz simgesi = etkin;  Gri göz simgesi = devre dışı


4

Harici CSS'ye (günümüzde çoğu sayfa) dayanan sayfalar için basit ve güvenilir bir çözüm, headöğeyi öldürmektir :

document.querySelector("head").remove();

Seçin (Krom / Firefox'da) bu sayfayı sağ tıklayın inceleyin devtools konsolu ve basında kodu yapıştırın girin .

Bir yer iminin URL'si olarak yapıştırabileceğiniz aynı kodun yer imi uygulaması:

javascript:(function(){document.querySelector("head").remove();})()

Şimdi Sık Kullanılanlar çubuğunuzdaki yer işaretine tıkladığınızda, sayfa herhangi bir css stil sayfası olmadan gösterilecektir.

Satır içi stilleri kullanan sayfalarda başlığın kaldırılması çalışmayacaktır.

Safari'yi MacOS'ta kullanıyorsanız:

  1. Safari Tercihlerini ( cmd+ ,) açın ve Gelişmiş sekmesinde "Menü çubuğunda Geliştirme menüsünü göster" onay kutusunu etkinleştirin.
  2. Şimdi Geliştir menüsünde bir Stilleri Devre Dışı Bırak seçeneği bulacaksınız .

2

Chrome Geliştirici araçlarını denedim ve yöntem yalnızca CSS harici dosyalar olarak dahil edilirse ve satır içi stiller için çalışmazsa geçerlidir.

Array.prototype.forEach.call(document.querySelectorAll('link'), (element)=>element.remove());

Veya

var linkElements = document.querySelectorAll('link');
Array.prototype.forEach.call(linkElements, (element)=>element.remove());

açıklamalar

  1. document.querySelectorAll('link')tüm bağlantı düğümlerini alır. Bu, DOM öğelerinin dizisini döndürecektir. Bunun javascript'in Array nesnesi olmadığını unutmayın.
  2. Array.prototype.forEach.call(linkElements bağlantı elemanları aracılığıyla döngüler
  3. element.remove() öğeyi DOM'dan kaldırır

Düz HTML sayfasında sonuç


Alternatif olarak, satır içi stiller için:document.querySelectorAll("style").forEach((e)=>(e.remove()))
Samy Bencherif

2

: aşağıdakilerden ile müfettiş gelen (hatta tek bir css dosyası için) herhangi bir isteği engelleyebilirsiniz
    Sağ tıklama> blok istek URL'ye
> Diğer css dosyalarını devre dışı bırakmadan https://umaar.com/dev-tips/68-block-requests/ O var standart bir denetçi özelliği, eklenti veya numara gerekmez


1

Firefox'ta en basit yol, Görünüm> Sayfa Stili> Stil Yok menü komutudur. Ancak bu, bazı sunum HTML biçimlendirmelerinin etkilerini de kapatır. Dolayısıyla, @JoelKuiper'in önerdiği şekilde eklentileri kullanmak genellikle daha iyidir; daha fazla esneklik sağlarlar (örneğin, sadece bazı stil sayfalarını kapatmak).


0

Aslında düşündüğünüzden daha kolay. Herhangi bir tarayıcıda hata ayıklama konsolunu açmak için F12 tuşuna basın. Bu, IE, Firefox ve Chrome için çalışır. Opera hakkında emin değilim. Ardından eleman pencerelerinde CSS'yi yorumlayın. Bu kadar.


Lynx ayrıca diğer tüm stilleri de göz ardı edecek. Burada bu istenmiyor.
John Dvorak

0

Tercih ettiğiniz Tarayıcı Geliştirme aracıyla (ör. Chrome Devtools) HTML'yi incelerken <head>öğeyi bulun ve silin.

Bunun js'yi de kaldıracağına dikkat edin, ancak benim için sayfayı çıplak hale getirmenin en hızlı yolu bu .


0

Önerilen tüm yanıtlar, yalnızca o sayfa yüklemesi için css'yi ortadan kaldırır. Kullanım durumunuza bağlı olarak, css'i hiç yüklememek isteyebilirsiniz:

Chrome Geliştirici Araçları> Ağ Sekmesi> Söz konusu stil sayfasını sağ tıklayın> engelleme isteği url'si


1
Ayrıca "kaç site veya pencere veya sekme açarsak açalım, tüm tarayıcı oturumu için CSS'yi nasıl kapatacağımız" da gerekli.
Dan Jacobson

0

Herhangi bir eklenti veya başka şeyler istemeyenler için, css'yi devre dışı bırakmak / etkinleştirmek için document.styleSheets'i kullanabiliriz.

// tüm css'yi devre dışı bırakmak için kod

for (const item in document.styleSheets) {
  document.styleSheets[item].disabled=false;
}

Chrome kullanıyorsanız, bir işlev oluşturabilir ve parçacıklarınıza ekleyebilirsiniz. Böylece konsolu herhangi bir site için css'yi etkinleştirmek / devre dışı bırakmak için kullanabilirsiniz.

// Snippet'ler -> DisableCSS

function disableCss(value = true){
  for (const item in document.styleSheets) {
    document.styleSheets[item].disabled=value;
  }  
}

// konsolda

disableCss() // by default is disable
disableCss(false) // to enable
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.