2010-09-25 8 views
24

pojawia się następujący błąd składni w Firebug i nie rozumiem, co to:DOCTYPE HTML Syntax error

> syntax error [Break on this error] 
> <!DOCTYPE html PUBLIC "-//W3C//DTDXHT...org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n 

Czy to z powodu ostatecznego "\ n" na końcu?

dzięki

ps. Właśnie zdałem sobie sprawę, że jeśli usunę wszystkie skrypty, nie otrzymam tego błędu. Na przykład, jeśli usunę te linie, nie otrzymam tego. Jeśli dodaję kolejny skrypt, otrzymam go ponownie, więc nie zależy to od samego skryptu.

<script type="text/JavaScript" src="<?php echo $base_url; ?>sites/all/themes/bluemarine/js/main.js"></script> 

KOD:

<?php 
// $Id: page.tpl.php,v 1.28.2.1 2009/04/30 00:13:31 goba Exp $ 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language->language ?>" xml:lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>"> 
<head> 
    <?php print $head ?> 
    <title><?php print $head_title ?></title> 
    <?php print $styles ?> 
    <?php print $scripts ?> 
    <script type="text/JavaScript" src="<?php echo $base_url; ?>sites/all/themes/bluemarine/js/main.js"></script> 
    <!--<script type="text/JavaScript" src="<?php echo $base_url; ?>sites/all/themes/bluemarine/js/griddy-min.js"></script> 
--> 

</head> 

<body>... 
+0

Kod źródłowy pliku HTML? – kennytm

+0

właśnie dodałem, przepraszam – aneuryzm

Odpowiedz

25

Ryan Rampersad, napisał o tym numerze stwierdzające

Błąd pochodzi z Firebug. Przerwa na ten błąd nie jest częścią tego błędu, ale jest w wysypisko Firebug kopii ....

syntax error [Break on this error] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML…3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Sposób, w jaki napotkał ten błąd, że zapomniałem podać wartość atrybutu src dla mojego znacznika skryptu!

<script type="text/javascript" src=""></script>

Oto blog post.

+0

Dzięki! Chodzi o to, że wszystkie moje skrypty mają "src". Mam na myśli, jeśli usunę ostatnie 2 linie (

14

Podejrzewam, że masz <script> wskazujące na adres URL, który zwraca dokument HTML (ewentualnie należy pochodzących z odpowiedzią 404 ale nie jest)

+0

cóż, widzisz w kodzie wskazują plik js. W Firebug zostanie znaleziony (nie zostanie zwrócony błąd 404). – aneuryzm

+2

Umieszczenie '.js' na końcu adresu URL nie czyni go plikiem JS. Serwery (z bardzo rzadkimi wyjątkami) wysyłają dokumenty HTML w postaci 404 błędów. Czasem są źle skonfigurowane, więc ich ciało błędu 404 ma kod statusu 200. – Quentin

+0

co tworzy plik js? Mam tylko javascript. dzięki – aneuryzm

2

miałem ten sam problem. Problem polegał na tym, że załadowałem plik skryptu, który wskazywał dokądkolwiek, lub precyzyjniej wskazywał na katalog główny mojej domeny. Deklaracja skryptu to <script src="http://mydomain/" type="text/javascript" />. Co się działo, to że skrypt ładował moją stronę główną. Pierwszą postacią strony głównej jest "<", ponieważ wszystkie strony html zaczynają się od "<!DOCTYPE ......". Cóż, to jest błąd składniowy, i to było to. Po usunięciu <script src="http://mydomain/" type="text/javascript" /> wszystko było w porządku. Mam nadzieję że ci pomogłam.

EDYCJA: W skrócie, sprawdź swoje wskaźniki src na linkach JavaScript, aby upewnić się, że wskazują na prawidłowe pliki.

+0

Pracowałem nad tym problemem od dłuższego czasu. Dziękuję Ci! Zapisałeś moją pracę :-) – Mohit

1

W moim przypadku, gdy otrzymałem taki błąd, przyczyną był "nieautoryzowany dostęp" do pliku JS.

Aby to wykryć, użyj FireBug, zakładki [HTML]: Spróbuj rozwinąć każdy węzeł "skryptu". jeden z tych węzłów zawierał treść strony "401.html" zamiast oczekiwanej zawartości JS.

0

Miałem ten sam problem. Po wypróbowaniu wielu rozwiązań i przeszukiwaniu tego, w końcu zrozumiałem, dlaczego dostaję tego błędu.

Otrzymałem ten błąd z powodu nieprawidłowej ścieżki w atrybucie src znacznika script. Tak jak dodawałem scenariusz poniżej, po prostu przeciągając skrypt na stronę z eksploratora rozwiązań w visual studio i otrzymywałem błąd. Mój atrybut src w tagu skrypt był src = "~/js/jquery.min.js"

I okazało się, że nie był już skryptu na tej stronie.

Użyłem poniżej rozwiązania do załadowania skryptu na tej stronie. Atrybut src w tagu skryptu src = "../../ js/jquery.min.js"

Powiązane problemy