Osadzanie skryptów w XHTML
Kolejność osadzania skryptów ma znaczenie. Będą wykonywane w takiej kolejności, w jakiej zostały umieszczone w kodzie strony.
Skrypt w kodzie: <?javascript ?>
Pomiędzy <?javascript
a ?>
się umieszcza odpowiedni kod, na przykład:
<?javascript
if (2 === 2) {}
?>
Zaraz po <?
umieszczamy nazwę języka małymi literami, w tym przypadku javascript
.
Takie skrypty można wstawiać przed DOCTYPE
W XHTML skrypty można osadzać za pomocą <script type="application/javascript"/>
, ale w XHTML można używać XML-owej składni.
W skrypcie nigdy nie może wystąpić ciąg znaków "?>"
Skrypt w pliku zewnętrznym: <script src="" type="application/javascript"/>
O wiele wygodniej i często wydajniej jest umieszczać skrypty w osobnym pliku. Plik ma zawierać wyłącznie JavaScript, dlatego nie trzeba unikać pisania "?>".
Ścieżkę do pliku wskazuje atrybut src
. W elemencie <script>
można umieścić dowolny kod JavaScript, wykonany zostanie gdy plik nie istnieje. Atrybut
type
można wtedy pominąć, bo serwer WWW wyśle odpowiedni typ.
Umieszczanie skryptów z cudzego serwera może być niebezpieczne, ponieważ skrypty są w stanie wykradać dane ze strony oraz cookies użytkownika.
Skrypty nie mogą być dołączane za pomocą <?javascript ?>
Ograniczenia JavaScript w XHTML
W przeglądarkach XHTML JavaScript jest traktowany ściślej i kilka przestarzałych funkcji i konstrukcji nie jest obsługiwanych.
- Brak
document.write()
. Parser XML nie daje możliwości modyfikowania dokumentu podczas jego parsowania. Zamiast tego należy użyć metod DOM. - Problemy z
innerHTML
. XML jest problematyczny do przetwarzania fragmentami, dlatego przeglądarki mogą nie obsługiwać tej właściwości (która i tak nie jest częścią standardu). Znów, niestety, należy użyć metod DOM. - Elementy XHTML z atrybutem
name
nie należą do obiektudocument
, czylidocument.jakaśnazwa
nie działa. Zamiast tego należy korzystać z metod DOM XML (zakładam, że używasz typu MIME application/xhtml+xml).
Zmodyfikowano: 30.08.2011, 07:22