Czytałem gdzieś, że nie ma już rzeczy muszą jak type="text/javascript"
i dziwne CDATA
i <!--
rzeczy w tagach skryptu. Więc zamiast:
<script type="text/javascript">
//<![CDATA[
<!--
//your script here
-->
//]]>
</script>
Po prostu zrobiłbyś:
<script>
//your script here
</script>
Nie pamiętam jednak, gdzie to przeczytałem. Wydaje mi się, że pochodziło to od inżyniera Google lub Yahoo, który konkretnie wspomniał, które przeglądarki wymagają tych archaicznych konstrukcji i dlaczego. Czy ktoś wie, o jakim poście / artykule na blogu mówiono, lub ma dobre źródło, które mówi o tym?
javascript
html
cmcculloh
źródło
źródło
text/javascript
określonym, usuwam go. To hałas.Odpowiedzi:
Zobacz napis Crockforda na
<script>
etykiecie , w szczególności:...
źródło
RubyScript
się popularny, zakończy się,.rbscript
a przeglądarka będzie działać odpowiednio.To zalecenie Crockforda . Wiem, że widziałem to odbijające się echem w innym miejscu (może ppk?). Specyfikacja HTML5 tego nie wymaga.
Co dziwne, to się nieco au courant użyć atrybutu „Typ”, aby zaznaczyć
<script>
bloki, które nie chcą być oceniane:Podając dziwny typ inny niż JavaScript, otrzymujesz sposób na umieszczenie surowego tekstu na stronie w celu użycia przez inny kod JavaScript (który prawdopodobnie znajduje się w bloku skryptu, który można ocenić).
źródło
type="text/html"
to w ogóle oznacza, a co totext/javascript
znaczy… dzięki<script>
bloku. Jednak<script>
staną się częścią DOM, więc inny kod JavaScript będzie mógł je znaleźć i wyodrębnić ich zawartość.In HTML5, the type attribute is no longer required for JavaScript. The default value is "application/javascript".
HTML5 nie potrzebuje
type="text/javascript"
(jest to ustawienie domyślne).CDATA
jest potrzebne tylko dla stron XHTML, jeśli skrypt zawiera znaki HTML (takie jak „<” i „>”).<!--
powinno być potrzebne tylko w STARYCH przeglądarkach.źródło
Cóż, pokusę się o stwierdzenie, że nikt już nie używa
text/javascript
, a nawet narzędzia do minifikacji prawdopodobnie by go usunęły ... Rzeczywiście, dokumentacja Facebook SDK określa tylko<script>
.Jednak dokumentacja Google SDK nadal ma
text/javascript
.Dokumentacja Amazon SDK nadal istnieje
text/javascript
.Dokumentacja API Linkedin wciąż ma
text/javascript
.Instagram nadal używa
text/javascript
.źródło
Typ atrybut określa język skryptowy kodu osadzonego w elemencie skryptu lub odwołanie przez atrybut src elementu. Jest to określone jako typ MIME; przykłady obsługiwanych typów MIME to: text / javascript, text / ecmascript, application / javascript i application / ecmascript.
Zgodnie ze specyfikacją HTML 4.01
Ale w HTML5
text/javascript
jest to typ domyślny, więc możesz go pominąćźródło
możesz myśleć o tym artykule tutaj z zależnością polegającą na tym, że skrypty domyślnie domyślnie używają tekstu / javascript w HTML5, podczas gdy przeglądarki inne niż HTML5 nadal oczekują, że zdefiniujesz typ specjalnie pod kątem specyfikacji, mimo że i tak prawie zawsze będą odgadywać tekst / javascript .
źródło
To od przeglądarki
script
zależy, czy poprawnie zinterpretuje blok na podstawie nagłówków, a nietype
atrybutu. Aby odpowiedzieć na Twoje pytanie, nie jest to wymagane w przypadku nowoczesnych przeglądarek (mówię o IE7 +, FF, Webkit). Jeśli wspierasz starsze przeglądarki niż ta ... Żal mi Ciebie =)źródło
Jeśli umieszczasz tag skryptu wewnątrz SVG , musisz określić atrybut type. I powinno być
"text/ecmascript"
raczej niż"text/javascript"
.Jeśli twój skrypt jest wbudowany (nie jest połączony), będziesz musiał również opakować treść skryptu w deklarację CDATA. Tak więc wbudowany skrypt skryptowy dla SVG (i innych wariantów XML) to
Mogą to być specjalne przypadki „na wolności”, ale są one wystarczająco realne, a użycie SVG rośnie, więc nikt inny nie powinien sugerować, że atrybut type i CDATA są całkowicie przestarzałe w nowoczesnych przeglądarkach. Przypadki użycia są wąskie, tak, ale nie niespotykane.
źródło
Standard MIME Sniffing umożliwia obsługę JavaScript przy użyciu dowolnego typu MIME ( Multipurpose Internet Mail Extensions ), który spełnia następujące warunki:
źródło
Cóż, wciąż widzę więcej przykładów bez tekstu / javascript, ale z jakiegoś powodu moje skrypty nie będą działać w FF, kiedy to zrobię. Zalecałbym zachowanie deklaracji text / javascript. Znacznik CDATA zapobiega wyświetlaniu javascript jako zwykłego tekstu w Twojej witrynie, jeśli Twoja przeglądarka ma wyłączony javascript. Osobiście nie używam już tych tagów, nie sądzę, że jest wielu użytkowników bez, a jeśli tam są, mogą chcieć wyhodować trochę mózgów: P
źródło
<script>
, bez „języka” i „typu”, i działają dobrze we wszystkich przeglądarkach. (Cóż, wszystkie rozsądne: FF, Chrome, Safari, IE, Opera.)type="text/javascript"
: Wymagane w HTML 4 i XHTML, ale opcjonalne w HTML5.CDATA
: Wymagane w XHTML.<!--
: Używany do ukrywania JavaScript przed bardzo starymi przeglądarkami. Np .: Netscape 1 i Internet Explorer 2, z których nikt już nie korzysta.źródło