2013-08-15 20 views
6

Dla mojej witryny wyświetlam <div> w tagu <noscript>.Czy treść jest załadowana/stylizowana/parsowana w tagu <noscript>, nawet jeśli włączony jest JavaScript?

W DIV mam obraz.

Krótki przykład:

<noscript> 
     <img src="logo-sm.png" alt="Site Logo"/> 
    </noscript> 

Jeśli obsługa JavaScript jest włączona, że ​​obraz jest jeszcze załadowany i są style CSS stosowany do niego? Co ze słuchaczami zdarzeń DOM? Zastanawiam się, czy wiele zewnętrznych treści (czy to obrazów, filmów, audio itp.) Wpłynie na ładowanie strony dla osób, które wcześniej zezwalają na JavaScript.

EDIT:

Nawiasem mówiąc, nie mam tej strony publicznej w internecie. Używam XAMPP, aby wyświetlić go w Chrome Canary.

+3

Czy próbowałeś wyłączyć JavaScript w przeglądarce, a następnie oglądać logi serwera? –

+0

Nie, nie mam. Jak mogę to zrobić? Er, logi serwera mam na myśli. Jak je wyświetlić? –

+1

Sposób wyłączania JavaScriptu zależy od przeglądarki, powinien być gdzieś w ustawieniach. Następnie musisz znaleźć dzienniki dostępu do serwera i sprawdzić, czy ładowanie strony bez rozmów JavaScript z serwerem; możesz też obejrzeć aktywność sieciową w narzędziach programistycznych przeglądarki. Czyszczenie pamięci podręcznej może być dobrym pomysłem (na wszelki wypadek). [Spec] (http://dev.w3.org/html5/markup/noscript.html) wydaje się nie określać, czy zawartość zostanie załadowana, czy nie, ale "wpływa na sposób parsowania dokumentu" a podstawowa poczytalność sugeruje, że '' nie zostanie załadowane. –

Odpowiedz

2

Jeśli JavaScript jest włączony, czy ten obraz jest nadal załadowany i czy zastosowano do niego style CSS?

Zależna od implementacji przeglądarki. Większość współczesnych przeglądarek obsługuje użycie znacznika <noscript>, ale w niektórych przypadkach <noscript> może nawet zadziałać, jeśli nie uda się wykonać <script>.

Jednak jeśli <noscript> jest wykonany (wiem), a następnie style css będą miały zastosowanie do elementów na stronie, ponieważ są one dodawane do DOM

Co o detektorach zdarzeń DOM?

Jeśli obsługa skryptów jest włączona w przeglądarce i podajesz treść w formacie <noscript>, zawartość powinna być zgodna z ustawieniami, aby nie powodowała błędów podczas parsowania. Look here for more

bym advide cię przed używaniem <noscripts> ponieważ jako instrukcji mówi:

Element noscript jest tępym narzędziem. Czasami można włączyć skrypty, ale z jakiegoś powodu skrypt strony może zawieść.Z tego powodu, to generalnie lepiej unikać NoScript, a zamiast zaprojektować skrypt, aby zmienić stronę od bycia strona scriptless do skryptów stronie na bieżąco

nadzieję, że pomoże :)

+0

Używam tylko noscript do wyświetlenia komunikatu mówiącego, że użytkownik nie pozwala na JavaScript i mówiąc, że powinien. : P –

+0

@RickyYoder, jeśli użytkownik korzysta ze skryptu blokującego, treść '

+0

Haha co? Jest to bloker skryptów! Dlaczego blokuje element HTML, który odrzuca skrypty? Ponadto, nawet jeśli te blokery są używane, wątpię, że używa ich znacząca liczba użytkowników, prawda? –

-2

Zawartość elementu <noscript> zostanie wyświetlona, ​​jeśli skrypty nie są obsługiwane lub są wyłączone w przeglądarce użytkownika.

+3

To nie odpowiada na pytanie. -1 – Doorknob

0

Jeśli włączona jest obsługa Javascript, nie ma powodu, dla którego kod powinien działać. Znaczniki noscript są przeznaczone dla przeglądarek/użytkowników bez włączonego JS. Jeśli javascript jest wyłączony, obraz zostanie wyświetlony, w przeciwnym razie wystarczy trochę czasu, aby załadować, ale po prostu nie będzie wyświetlane.

+0

Przypuszczam, ale znowu nie ma sposobu na sprawdzenie tego. Próbowałem ustawić właściwość wyświetlania CSS dla znacznika

+0

Proponuję JS, jeśli oświadczenie, ale nie ma sensu .. Jeśli JS wyłączone, po prostu nie. – Yotam

+0

@RickyYoder sprawdź odpowiedź poniżej może pomóc wyjaśnić więcej. – woofmeow

2

odpowiedzi :

  1. Obraz nie jest wyświetlany jako zasób w konsoli, dlatego nie został załadowany.
  2. Chrome cytuje innerHTML tagu noscript, dzięki czemu jest to zwykły tekst.